BattleHeart 发表于 2014-10-24 18:01

手动脱UPX的DLL

本帖最后由 BattleHeart 于 2014-10-24 18:07 编辑


手动脱UPX的DLL   这里我只是整理一下文档,方便大家学习,学习资料是黑鹰逆向教程,我把里面的一些我觉得有必要整理的东西,拿出来整理一下,大神请不要喷!下面来进行分析:主要程序是:


主要分析的是这里面的DLL文件,也就是XY2Function.dll这个文件,下面来用PEID载入看一下,看一下壳:


将XY2Function.dll载入到OD中,这里OD分析dll需要有另外一个进程来加载loaddll.exe程序;

接下来就单步走,这里有一个技巧我们可以直接搜下面这个指令:Xchgah,alRol   eax,10Xchgah,alAdd   eax,esi既然这样我们就开始CTRL+B查找第一段代码:

点击查找按钮,CTRL+L进行下一个查找直到查到这段代码为止:

找到了这段代码之后接下来就是再moval,byte ptr ds:处下断电,F9运行到这里,然后记录下edi的值,这个edi存放就是DLL重定位地址,edi-基址=RVA重定位;

这里面edi的地址是edi=1009F418,我们查看内存看一下基址是多少,

基址为10000000所以这个重定位的RVA就是9F418接下来就是单步走到程序的OEP,单步走的原则就是远Call F8,近Call F7;这样我们就到达了OEP用loadpe进行dump程序;

接下来就是Dump程序,这里就不截图了,主要是后面修复关键地方,将修复完成之后的程序载入到LOADPE中,进行重定位的修复

点击目录进入到修改目录中:

注意这里修复完成后点击保存->确定,之后出来还要点击保存->确定这样才算成功。后面就是用importREC进行修复。修复之后就可以运行了程序我就不附加了,自己找一个UPX的DLL练手就好!!!注明:Martin=BattleHeart
希望多多加分鼓励!!!!拿走虽易,分享不易,且行且珍惜!







Shark恒 发表于 2014-10-24 18:07

楼主的图文教程,做的真是太详细了。感谢!

起凡第一华佗 发表于 2014-10-24 18:24

我暂时用不到吧

小强 发表于 2014-10-24 18:33

{:5_118:}大牛 你撸视频的时候手抖不

BattleHeart 发表于 2014-10-24 20:20

小强 发表于 2014-10-24 18:33
大牛 你撸视频的时候手抖不

呵呵!什么情况?

bigeorry 发表于 2014-10-25 10:19

谢谢楼主的教程。学习了

ccqqkDL 发表于 2015-3-5 16:47

谢谢楼主的教程。学习了

perfect 发表于 2015-7-19 23:42

gaoxingjie123 发表于 2015-7-20 10:45

膜拜大神啊

Nx3sdHy 发表于 2016-3-3 14:30

这个需要标记一下 关于重定位
页: [1] 2
查看完整版本: 手动脱UPX的DLL