绕过自效验(文件大小自效验)

今天所接触到的是绕过自效应。

所用到的还是《Shark恒零基础百集VIP破解教程》中的示例程序:

查壳,发现是Nspack

载入OD,发现可以用ESP定律脱壳,那就先脱壳,脱壳后发现程序不能打开,载入OD,插件-api断点设置-选择“getfilesize”断点(这里下断点的目的是直接找到GetFileSize函数的调用处),然后重新载入程序,运行:

进入GetFileSize函数的调用处:

下断,在断点窗口禁止程序epo断点,重新载入程序:

单步调试至cmp指令处【比效指令 CMP(CoMPare) 格式: CMP OPRD1,OPRD2  功能: 对两数进行相减,进行比较.】

此处cmp的作用是将寄存器eax里的值和0xc6c8处的值比较,接着ja指令根据结果判断是否跳转,单步至ja指令处发现跳转实现,猜测cmp处判断文件大小后发现文件大小发生变化,因此ja处跳转至程序结束处。

现在用nop填充cmp指令,验证猜测:

修改后保存:

发现修改后的文件可以成功打开,猜想正确:


 

 
 
 

猜你喜欢

转载自blog.csdn.net/song_10/article/details/83628208