1:Acid burn
两种注册方式,一种用户名+注册码的方式,另一种只需要注册码。先看第一种
随便输一段确认,弹出提示框
OD搜索一下有两个字符串,同时下段,在第二个地址断下
将Good job dude之前的跳转NOP掉再点确认
爆破成功
第二种单独注册码的一样,弹出的报错框同样有两个地址有字符串。同样下两个断分析。
寄存器中出现一段字符串,输一下
解决,同时也可以将上面那样把跳转NOP爆破得到flag。
尝试着写下用户名+密码的注册机,ida看下代码
if判断应该是输入的用户名字符大于等于4个然后进行运算
dword_431750初始值为41先乘v16再乘2(v16应该是用户输入的用户名,但是怎么能和数字成搞不懂,可能是ascii码乘吧,然后*v16就是首地址也就是第一个数吧)
定义v19=CW,v18=CRACKED,再将上面相乘的值存到v14
再往下这步v17是啥没看懂,然后根据下面sub_4039FC(v17,v16)猜是比较这两个,所以推测v16是用户输入的注册码。所以注册机暂时写不出来,继续学习。