BattleHeart 发表于 2014-10-28 22:39

手脱Aspack壳的DLL

本帖最后由 BattleHeart 于 2014-10-30 09:33 编辑

手脱Aspack壳的DLL       相信大家都脱过Aspack的DLL,这里呢我只是总结一下脱Aspack的方法,望大牛们勿喷,首先先看一下整体的应用程序。    上图中的CQHX.DLL是Aspack的壳,而WGSHELL.DLL是UPX的壳,用上一次那个脚本可以到达OEP,下面来查一下CAHX.DLL的壳(如下图所示)这里说一个简单地方法就可以找到重定位地址的方法,我们可以CTRL+F搜下面这段代码来进行查找:<font size="3" face="微软雅黑">sub ecx,8
shr ecx,1</font>

    那么就可以找到这里位置处:      图中我们看到了搜的这段代码上面有两个跳转je,最上面的那个je就是magic jmp所以不能让他跳转过去,而mov esi,dword ptr ds:这个位置处就是存放DLL的地址处,接下来不在magic jmp处下断点,要在magic jmp上面这个跳转处下断点F2,然后点击运行:然后单步走运行到mov esi,dword ptr ds:这段代码处看一下重定位的地址为多少!这样就获取到了重定位的地址了,然后我们就单步运行,单步走的原则是远跳转F8,近跳转F7,其实我们往下拉就可以看到结尾了到这里之后。这里就是OEP了,通过上面图片它会在100773C0处返回到OEP:接下来的任务就是修改重定位地址和入口地址之后再输入表的重建,这里只是纪录一个快速找到DLL重定位地址的方法。既然我们已经找到了DLL的OEP之后,我们就开始dump文件。将程序Dump完了之后,就可以对dump后的文件进行修复了,下面我们将dump后的文件载入到LoadPE中。点击PE编辑器选择我们要修复的文件。首先要修复的是这个程序的入口点这里面现实的是77001,但是通过上面图片上显示的是OEP地址是4CF20这个地址,我们将入口点改为4CF20后点击保存,注意要点击保存按钮。然后再点击目录对重定位地址进行修改:修改重定位地址为70000后点击保存,再点击确认,到了上一级界面是又要点击保存再点击确认。这样程序就可以了,然后再对输入表进行修复。打开ImportREC选取LoadDll.exe这个进程进行选择Dll,然后将OEP改为程序的OEP之后,再将无效的剪掉,载入到脱壳后的程序就可以运行了。

本来想用百度网盘上传,后免费分享的但是老是分享失效!各位见谅!!!



起凡第一华佗 发表于 2014-10-28 23:04

DLL干嘛的

BattleHeart 发表于 2014-10-28 23:08

蜡笔小小新 发表于 2014-10-28 23:04
DLL干嘛的

我也不知道啊!

起凡第一华佗 发表于 2014-10-28 23:16

BattleHeart 发表于 2014-10-28 23:08
我也不知道啊!

那你出干嘛

BattleHeart 发表于 2014-10-28 23:19

蜡笔小小新 发表于 2014-10-28 23:16
那你出干嘛

能不闹吗?

起凡第一华佗 发表于 2014-10-28 23:22

BattleHeart 发表于 2014-10-28 23:19
能不闹吗?

噢噢噢噢

BattleHeart 发表于 2014-10-28 23:28

蜡笔小小新 发表于 2014-10-28 23:22
噢噢噢噢

你这么一大牛,就不用跟我这般人一般见识了!

起凡第一华佗 发表于 2014-10-28 23:37

BattleHeart 发表于 2014-10-28 23:28
你这么一大牛,就不用跟我这般人一般见识了!

{:5_185:}我啥都不懂

小徐徐 发表于 2014-10-30 11:10

{:5_124:}路过...

Shark恒 发表于 2014-10-30 12:49

完美的图文教程,楼主的教程各个是精品!
页: [1] 2 3
查看完整版本: 手脱Aspack壳的DLL