首先打开exe文件:
我们看到文件打开后就是输入name和serial,我们输入假码:
输入假码,弹出窗口。然后我们放入DIE中查看壳和编译器:20200702075236262.png)
发现没有壳,编译器是VB。
破译:
爆破:
我们搜索字符串,找到关键跳,直接修改关键跳:
破译注册机:首先我们在这一段程序开始打一个断点,然后单步跟踪一下,看一下serial具体是从哪里被计算出来的。
打上断点,输入假码:
然后单步跟踪:
跟踪到0x00402525时,出现了serial,我们可以看到,serial前面的AKA是固定加上去的,所以我们要去前面查看数字是固定的还是生成的,于是我们从新加载,输入同样的假name
重新运行后,我们发现这个serial的生成逻辑:首先计算name的长度,再将长度乘以0x17CFB存放到edi,再计算name首位的ascii码,将ascii码与edi相加,最后转化二10进制数。
为了验证,我们重新输入假name:222222222(9个2)
按照刚刚的逻辑,9*0x17CFB=0xD64D3;然后加上2的ascii码:0xD64D3+0x32=877 829;再在数字前面加上AKA-,就变成了AKA-877829:
最后加上注册机代码: