好友
阅读权限10
听众
最后登录1970-1-1
|
我是人民币
发表于 2014-8-19 21:23
本帖最后由 我是人民币 于 2014-8-19 22:45 编辑
在脱壳后,很多人都困在壳的自效验上,所以想给大家分享一下自己的方法。
刚来吾爱不久,实在是找不到在什么板块发了,所以就在这里把-.-
想要实现自效验就必须把 自身读入 到内存 然后进行一下特征码或者效验码的计算,大牛一般就是直接 "攻击" 这些算法,实在是不适合我们这些小菜。
我的方法是 “攻击” 源程序的来源。
既然读入那么就会用到 CreateFile 函数。所以 分别在CreateFileA和CreateFileW函数上下断点。然后F9让程序跑起来。
当程序停下的时候 注意看着 栈里的数据,OD太强大了,已经把参数信息显示在了旁边,检测看看CreateFile函数的FileName参数是不是执行文件的文件名。 聪明的你是不是想到了什么呢?
没错!我们就是要偷梁换柱,把参数换掉。
[Asm] 纯文本查看 复制代码 0012FA40 772DE8DF /CALL 到 CreateFileW 来自 kernel32.772DE8DA[/color][/b]
[b][color=#0000ff]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的那个。
然后完事。
实验材料
废除自效验.7z
(219.58 KB, 下载次数: 32)
不是转载,把吾爱写成看雪了。
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|