1.去NAG:4C法
- 1.程序拉入OD,看程序起始位置。VB程序的特征是开始一个push然后接一个call。这里可以看到程序要push的值是004067D4,所谓的4C法就是在这个地址的基础上加4C
2.在数据窗口点击,然后ctrl+g定位到004067d4+4c
3.选中68684000,,右键数据窗口跟随DWORD。可以看到有两块类似的数据,每块50(十六进制)个字节的长度,每块的第24个字节都有一个标志,指定每块代码出现的顺序。所以要去除NAG,就修改这个字节。将00改为01,01改为00
2.去NAG:Timer
- 通过修改Timer实现,Timer是VB程序默认的定时器变量。只要程序的作者没有将计时器的默认名称修改,则可以用这个方法。
1.定位内存到0x401000,搜索Timer
2.修改计数器的秒数,这里的0x1B58转换为十进制就是7秒,将0x1b58修改为0x0001,注意不能直接修改为0x0000
3.爆破
- 1.字符串查找,定位到成功,找到爆破点NOP操作
2.OD载入,输入假码,跑飞程序,看到错误提示,切换到OD,暂停OD,ctrl+k进入堆栈窗口,最后一个rtcMsgBox显示函数调用或者showall,在反汇编处向上查看
4.注册机计算
python:
n=input("name:")
serial=((len(n)*0x15B38+ord(n[0])))*3.0-0x2+0x15
print(serial)