160个creakme(一

1:Acid burn

两种注册方式,一种用户名+注册码的方式,另一种只需要注册码。先看第一种

160个creakme(一

 随便输一段确认,弹出提示框

160个creakme(一

 OD搜索一下有两个字符串,同时下段,在第二个地址断下

160个creakme(一

160个creakme(一

 将Good job dude之前的跳转NOP掉再点确认

160个creakme(一

 爆破成功

第二种单独注册码的一样,弹出的报错框同样有两个地址有字符串。同样下两个断分析。

160个creakme(一

 寄存器中出现一段字符串,输一下

160个creakme(一

 解决,同时也可以将上面那样把跳转NOP爆破得到flag。

尝试着写下用户名+密码的注册机,ida看下代码

160个creakme(一

 if判断应该是输入的用户名字符大于等于4个然后进行运算

dword_431750初始值为41先乘v16再乘2(v16应该是用户输入的用户名,但是怎么能和数字成搞不懂,可能是ascii码乘吧,然后*v16就是首地址也就是第一个数吧)

定义v19=CW,v18=CRACKED,再将上面相乘的值存到v14

再往下这步v17是啥没看懂,然后根据下面sub_4039FC(v17,v16)猜是比较这两个,所以推测v16是用户输入的注册码。所以注册机暂时写不出来,继续学习。

上一篇:颜色透明混合算法中遇到的坑


下一篇:leetcode 160 相交链表