CrackMe_002

老规矩,先熟悉程序。

只有一个验证的功能,错误提示You Get 。。。 关闭没有nag窗口

第一种,暴力破解

查找字符串,很少,直接双击进入

可以看到错误提示的跳转来自:

 表示这应该是个重要的跳转,找到位置:

 下面就是You Get  It,很明显,就是这个跳转了,直接nop导出就行。

第二种 注册机

接上面,刚刚跳转的位置,向上面找找,看看整个函数,在这个位置能看到string,StrCat之类的注释,尝试这里下断,然后查看功能。发现这里有一些对密码的堆栈,和AKA-487704,唔。。。应该已经完成加密,这就是注册码了(第一个和第三个箭头都是我自己注释的)。注册码应该是“AKA-”+“加密的注册码”

说明加密的方式还在上面,这里是一个对应的结果。继续向上

 

看到这个位置:

 这"ValueBstr" (?!) 和 “String” ,唔。。。。很像,下断看一下。 突然出现注册码,应该就是这段了。

 

 分析一下,大概就是:输入的长度*0x17CFB +(第一个字符的十六进制) -》十进制输出,在加上下面的"AKA-"就是了

Num = input('输入:
')

flag = ''

test = hex(0x17CFB*len(Num)+ord(Num[0]))

flag = 'AkA-'+ str(int(test.upper(), 16))

print(flag)

尝试一下:

Ok,成功

原文地址:https://www.cnblogs.com/yidianhan/p/11571992.html