简单去除exe自校验方式

简单去除exe自校验方式,第1张

简单去除exe自校验方式 简单去除exe自校验方式


一、      自校验定义:

这些程序会检查自己有没有被修改,如果发现被修改的话,便会离开或进行其它动作。


基本的校检方法包括 checksum, 检查大小, 检查跳转代码,等等。


对于我们而言,如果脱壳后的程序运行起来跟脱壳前的程序运行起来不一样,基本上就可以断定为程序增加了自校验机制


二、      自校验示例:


三、如何去除自校验: 1.   先进行OD脱壳 注:脱壳完毕后停留在脱壳界面,不要把OD关闭 2.   再开启一个OD,打开脱壳后的程序 3.   两个程序同时下断点  bp CreateFileA然后分别点击运行(F9)

注:在win7环境下无法OD无法使用这个命令进行断点,只要Ctrl+G, 输入"kernel32.CreateFileA",我们就可以定位到kernel32的CreateFileA了

4.   两个OD都点击【Alt+F9】执行到用户代码

5.   两边同时单步(F8)往下走,查看两个程序是否有不一样的跳转(比如一个实现了一个没实现)

6.   接下来我们要做的就是把脱壳后的文件的跳转让它不实现就可以了

①          最简单的方法就是直接把脱壳后的程序那里的跳转给NOP掉

②观察跳转的上一行汇编代码cmpeax,dword prt ss:[ebp-8],这是汇编代码,意思是eax和dwort进行比较,如果不相等就跳转,相等就不跳转,不懂可以百度,把它改成cmp eax,eax就可以了

③或者把jnz改成je或jz也可以,具体的意思可以去百度一下

7.   然后保存退出OD

8.   再次执行脱壳后的文件,OK,成功了

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/588083.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存