- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四十四章-ACProtect V1.09脱壳 (修复
AntiDump)
我们上一章节介绍了如何定位stolen byt
es,以及IAT的修复。我们利用上一章编写
的脚本可以很方便的修复IAT并且定位到O
EP,接下来我们的任务就是dump。
我们依然用OD加载UnPackMe_ACProtect1.
09,并对KiUserExceptionDispatcher入口
以及下方的ZwContinue调用处分别设置断
点,并且清除之前设置的硬件断点。
接着我们执行OEP.txt这个脚本定位到OEP
处。
好了,现在我们到达了OEP处。
接下来进行dump。
这里我们不勾选Rebuild Import的选项,
将转储出来的文件重命名为dumped.exe。
接下来我们重启OD,执行修复IAT的脚本。
接下来打开Import Reconstructor,定位
到该程序所在进程。
接着就需要填上OEP (RVA),IAT起始地址 (R
VA),IAT的大小。
OEP 271B5
IAT的起始地址 (RVA) 60818
IAT的大小 460F28 - 460818 710
点击Get Imports。
我们会发现有一项是无效的,其他项都是
有效的,是不是我们哪里处理的有问题?
我们来跟一下,看看哪里出了问题,重启OD
,我们选中上面显示无效的IAT项,设置内
存写入断点。
运行起来,断在了尝试对460DE8该内存单
元进行写入的指令处。
我们会发现ESP - 0C指向的栈空间中并没
有保存API函数的入口地址,而是保存了46
E5CB这个值。
我们可以看到通过IAT.txt脚本,460DE8这
个IAT项被保存的是46E5CB这个值,那么不
通过脚本呢?我们按F7执行该指令。
我们可以看到不通过脚本460DE8这个内存
单元中保存的值是46BD5B。
我们转到46BD5B地址处看看是什么。
这里我们可以看到首先是将一个常量压入
堆栈,接着与另一个常量进行异或就可以
得到某个API函数的入口地址,我们一起来
计算一下。
942C0892 xor 946aed59
如果你不想通过计算器来算的话,那么也
可以通过OD执行这几条指令来得到结果。
这里我们可以看到异或得到的结果是46E5
CB,跟执行IAT.txt脚本得到的结果是一致
的。也就是问题并不是出在脚本上。应该
是其他的某个环节出了问题。我们重启OD
,随便找一个API函数跟一下。
我们执行OEP.txt脚本到达了OEP处,接着
依然对刚刚的460DE8这个无效的项设置内
存访问断点,看看会断在哪里。
断在了这里,我们跟进去看看。
我们跟到RET指令处,继续跟进。
这里我们可以看到第一条指令是PUSHAD,
那么根据堆栈平衡原理,可以很自然的想
到后面应该有个POPAD指令,我们按F7键往
下跟若干行会到达这里。
这里我们可以看到调用了MessageBoxA这
个API函数。
另一种更加快捷的方法就是通过OD的自动
跟踪功能来定位,我们设置 自动跟踪的终
止条件为EIP大于500000,也就是说从当前
区段转入到系统DLL中去执行API函数的时
候就会断下来,我们一起来看一看。
这里我们选中EIP is outside the range
。范围设置为0~500000。下面我们一起来
看看效果。
我们可以看到断在了MessageBoxA的入口
处,为了验证API函数的正确性,我们来看
看该函数的调用处是哪里,看看堆栈中的
返回地址。
这里我们可以看到返回地址是40E51B,我
们直接转到这个地址。
这里返回到的是调用处的下一行,好了,这
里我们就得到了正确的API函数,我们重启
OD,执行IAT.txt脚本,就OEP,IAT起始地址
,IAT大小等数据都填入到IMP REC中。
我们定位到这个无效的项,双击之,将其修
改为MessageBoxA。
好了,现在所有的项都有效了。接下来修
复dump文件,选中dumped.exe,单击Fix d
ump。
修复后的dump文件被重命名为了dumped_.
exe,别忘了stolen bytes我们还没有填充
回去,我们用OD打开dumped_.exe。
停在了假的OEP处,我们准备好stolen byt
es。
我们将stolen bytes以汇编指令的形式填
充上。
我们通过计算可知stolen bytes总共 占5
个字节长度,4271b5往上5个字节就是4271
b
您可能关注的文档
- 糖尿病教育-01-糖尿病基础知识.pptx
- 糖尿病教育-02-从关键指标看糖尿病的诊断与治疗.pptx
- 糖尿病教育-05-糖尿病降糖药物的选择.ppt
- 糖尿病教育-08-HbA1c测试介绍.pptx
- 糖尿病教育-09-糖尿病与并发症.pptx
- 糖尿病教育-11-关注下肢血管病变和糖尿病足.pptx
- 糖尿病教育-12-β细胞功能知多少.pptx
- 糖尿病教育-16-体重控制.pptx
- 糖尿病教育-17-肥胖糖尿病患者的治疗与管理.pptx
- 人工神经元网络模型.pptx
- 使用OllyDbg从零开始Cracking-45第四十五章-ReCrypt v0.pdf
- 使用OllyDbg从零开始Cracking-46第四十六章-Patrick的CrackMe-Part1.pdf
- 使用OllyDbg从零开始Cracking-47第四十七章-Patrick的CrackMe-Part2.pdf
- 使用OllyDbg从零开始Cracking-48第四十八章-PeSpin V1.3.pdf
- 使用OllyDbg从零开始Cracking-49第四十九章-PeSpin V1.3.pdf
- 使用OllyDbg从零开始Cracking-50第五十章-再谈ReCrypt v.0.pdf
- 使用OllyDbg从零开始Cracking-54第五十四章-EXECryptor v2.2.50.pdf
- 使用OllyDbg从零开始Cracking-55第五十五章-ExeCryptor v2.2.50.pdf
- 使用OllyDbg从零开始Cracking-56第五十六章-EXECryptor v2.2.50.pdf
- 使用OllyDbg从零开始Cracking-57第五十七章-ExeCryptor v2.2.50.pdf
最近下载
- 2025年项目管理公司组织架构、岗位、职能设置方案.pdf VIP
- 2024安徽长丰科源村镇银行员工招聘20人笔试历年典型考题及考点剖析附带答案详解.docx VIP
- 普通心理学第五版PPT完整全套教学课件.pptx VIP
- 2023安徽长丰科源村镇银行招聘5人笔试历年典型考题及考点剖析附带答案详解.docx VIP
- 《GBT13341-1991-质量损失率的确定和核算方法》.pdf
- 节约用水条例培训解读课件.pptx VIP
- MX480路由器操作手册.doc VIP
- 山东省临沂市蒙阴县第一中学2024-2025学年高三下学期第三次模拟考试语文试题(含答案).pdf VIP
- 2024安徽长丰科源村镇银行员工招聘笔试笔试历年典型考题及考点剖析附带答案详解.docx VIP
- 冬季行车安全知识培训课件.pptx VIP
原创力文档


文档评论(0)