lz0618 发表于 2022-11-12 12:06

Zprotect1.49IAT修复中遇到的问题

本帖最后由 lz0618 于 2022-11-12 12:07 编辑

从刷机论坛随手拿来的一个加密样本,若有侵犯,见谅,本人只是用来研究脱壳技术!

这个样本程序检测出来是用1.4.9加密的:



通过跟踪,这个程序似乎包含:1,程序代码加密;2,ANTI-HOOK;3,DLL模拟

我 的测试过程如下:
1,程序代码加密
因为代码加密了,若正常跳过注册框,程序无法正常运行。通过在网上找到的脚本,这段脚本应该是跳过了注册框,直接到达OEP,并在OD下能直接运行
2,对ANTI-HOOK的处理
参照了论坛中:浅谈ZProtect 1.4.9.0 IAT修复 的帖子,进行了修复,除了修复后的IAT中的地址是本地地址外,似乎还有其他问题,一会说。
3,解决DLL模拟
参照论坛中:ZProtect Anti-Hook 脱壳 一文,找到了相关被模拟的DLL如下:

DLL名称                系统函数的基址 现在的基址
ntdll.dll      7C920000         00C10000
kernel32      7C800000      00CB0000
user32                77D10000      00DD0000
gdi32                77EF0000          00E60000
advapi32      77DA0000      00EB0000
shell32                7D590000      01170000

这篇文章中对DLL对应地址的问题没有细说,不知道我找得对否

现在我遇到的问题是:
按2步骤获取到的同一个dll,本地段地址有多个,如gdi32.dll,对应的有00E6,00E7,00E8,00E9四个段的地址,是我步骤3的段地址弄错了吗?



样本程序下载地址:
https://pan.baidu.com/s/1Oag3bWD0mCJYjiLNtUkdJQ?pwd=wbnr 提取码: wbnr


也许我有点知道了,这没有啥关系,因为之间差值是一样的,可以用Smoke大神的脚本直接恢复过来!但既然写了那么多,就发了吧

lz0618 发表于 2022-11-12 20:15

我的想法是对的,已经完成脱壳,感谢网站的各位大神,没有你们的好的教程,一个小白,怎么能成功呢!
页: [1]
查看完整版本: Zprotect1.49IAT修复中遇到的问题