我是人民币 发表于 2014-8-19 21:23

对抗自效验的简单方案

本帖最后由 我是人民币 于 2014-8-19 22:45 编辑

在脱壳后,很多人都困在壳的自效验上,所以想给大家分享一下自己的方法。
   刚来吾爱不久,实在是找不到在什么板块发了,所以就在这里把-.-


想要实现自效验就必须把 自身读入 到内存 然后进行一下特征码或者效验码的计算,大牛一般就是直接 "攻击" 这些算法,实在是不适合我们这些小菜。
我的方法是 “攻击” 源程序的来源。
   既然读入那么就会用到 CreateFile 函数。所以 分别在CreateFileA和CreateFileW函数上下断点。然后F9让程序跑起来。

当程序停下的时候 注意看着 栈里的数据,OD太强大了,已经把参数信息显示在了旁边,检测看看CreateFile函数的FileName参数是不是执行文件的文件名。 聪明的你是不是想到了什么呢?
没错!我们就是要偷梁换柱,把参数换掉。
0012FA40   772DE8DF/CALL 到 CreateFileW 来自 kernel32.772DE8DA
0012FA44   001D8610|FileName = "C:\Users\yuxin\Desktop\桌面\废除自效验\被破坏后的程序\自效验.exe"
0012FA48   80000000|Access = GENERIC_READ
0012FA4C   00000003|ShareMode = FILE_SHARE_READ|FILE_SHARE_WRITE
0012FA50   0012FBCC|pSecurity = 0012FBCC
0012FA54   00000003|Mode = OPEN_EXISTING
0012FA58   00000080|Attributes = NORMAL
0012FA5C   00000000\hTemplateFile = NULL

在被破解的程序目录下新建一个 old 目录,把可以通过效验的完整程序放进去 我们取名为 old.exe


然后在PE文件内找一个空白的区域 把 old\old.exe 写进去。 【相对路径】
最后 找到CreateFile的调用者,把FileName 的=指针的值改成指向 old.exe的那个。
然后完事。
实验材料


不是转载,把吾爱写成看雪了。

我是人民币 发表于 2014-8-20 09:25

as1543100166 发表于 2014-8-19 22:17
刚来看雪不久..你暴漏了而且是转载为何不注明

签名不错。。

SunerC 发表于 2014-8-19 21:30

额,刚来看雪不久

1093087380 发表于 2014-8-19 21:36

对抗自效验的简单方案

月光下の魔术师 发表于 2014-8-19 21:36

请发布在转载区谢谢

心断空 发表于 2014-8-19 21:37

楼主转的真好。。。

yejiaxi82 发表于 2014-8-19 21:50

楼主脚踩两条船啊……

yutao531315 发表于 2014-8-19 22:08

没看清楚................................楼主说得不清晰啊

as1543100166 发表于 2014-8-19 22:17

刚来看雪不久..你暴漏了而且是转载为何不注明

lixia2018 发表于 2014-8-19 22:27

孤单月色 发表于 2014-8-19 22:28

这应该发错板块了吧,好像是转的耶
页: [1] 2
查看完整版本: 对抗自效验的简单方案