郧西论坛
标题:
手脱ASPack以及变形壳的几种方法
[打印本页]
作者:
苦咖啡
时间:
2008-1-24 15:11
标题:
手脱ASPack以及变形壳的几种方法
---------------------------------------------------------------------------------
“KillBox”用PEID查得是ASPack 212 -> Alexey Solodovnikov
1、单步跟踪法
2、ESP定律法
00424001 K> 60 pushad //入口,看到关键提示大家就应该惊醒了,单步F8
00424002 E8 03000000 call KillBox0042400A //到这里,注意寄存器提示ESP=0012FFA4
00424007 - E9 EB045D45 jmp 459F44F7
0042400C 55 push ebp
0042400D C3 retn
命令行下断hr 0012FFA4,F9运行!
3、内存镜像法
首先Alt+M打开内存镜像
找到rsrc区段
内存映射,项目 29
地址=004D3000
大小=00241000 (2363392)
宿主=登陆器 00400000
区段=rsrc //F2下断,Shift+F9运行!
包含=resources
类型=Imag 01001002
访问=R
初始访问=RWE
继续
内存映射,项目 22
地址=00401000
大小=000BB000 (765952)
宿主=登陆器 00400000
区段=CODE //F2下断,Shift+F9运行!直接到达OEP!
包含=code
类型=Imag 01001002
访问=R
初始访问=RWE
********************************************************************************************
"登陆器"其实是一个ASPack的变形壳
今天我们使用2种方法快速搞定它!
一、ESP定律法
二、内存断点法
******************************************************************************************************
一、ESP定律法
OD载入程序
00717082 登陆> 60 pushad //入口,看到关键提示大家就应该惊醒了,单步F8
00717083 E8 00000000 call 登陆器00717088 //到这里,注意寄存器提示ESP=0012FFA4
00717088 5D pop ebp
00717089 81ED B6A4450>sub ebp,登陆器0045A4B6
0071708F 8DBD B0A4450>lea edi,dword ptr ss:[ebp+45A4B0]
00717095 81EF 8200000>sub edi,82
命令行下断hr 0012FFA4,F9运行!
00717374 - FFE0 jmp eax ; 登陆器00714001 //到这里,单步F8
00717376 42 inc edx
00717377 4B dec ebx
00717378 2E:44 inc esp
0071737A 41 inc ecx
00714001 60 pushad //来到这里,仍然是关键提示,单步F8
00714002 E8 03000000 call 登陆器0071400A //到这里,ESP=0012FFA4(和上面的一样),由于上一个硬件断点没删除所以到这里我们直接F9就可以了!
00714007 - E9 EB045D45 jmp 45CE44F7
0071400C 55 push ebp
0071400D C3 retn
007143B0 /75 08 jnz short 登陆器007143BA //到这里!删除断点,F8
007143B2 |B8 01000000 mov eax,1
007143B7 |C2 0C00 retn 0C
007143BA \68 D8BD4B00 push 登陆器004BBDD8
007143BF C3 retn //返回到 004BBDD8 (登陆器004BBDD8),程序的OEP!
004BBDD8 55 push ebp //OEP,看入口代码特征就知道程序是Delphi写的
004BBDD9 8BEC mov ebp,esp
004BBDDB 83C4 F0 add esp,-10
004BBDDE B8 98B94B00 mov eax,登陆器004BB998
004BBDE3 E8 BCA5F4FF call 登陆器004063A4
004BBDE8 A1 7CE84B00 mov eax,dword ptr ds:[4BE87C]
004BBDED 8B00 mov eax,dword ptr ds:[eax]
004BBDEF E8 1073FAFF call 登陆器00463104
在此LordPE完全Dump!请出Import来修复下!OEP处填BBDD8--自动搜索IAT--获取输入表(全部有效)--FixDump!
测试正常运行,用PEID查看是Borland Delphi 60 - 70写的
好了,ESP定律法就到这里,下面介绍的是内存断点法
******************************************************************************************************
二、内存断点法
重新载入下吧,来实行我们的内存断点法
首先Alt+M打开内存镜像
找到rsrc区段
内存映射,项目 29
地址=004D3000
大小=00241000 (2363392)
宿主=登陆器 00400000
区段=rsrc //F2下断,Shift+F9运行!
包含=resources
类型=Imag 01001002
访问=R
初始访问=RWE
77F764F3 66:8B50 0C mov dx,word ptr ds:[eax+C] //来到这里,我们不用管它
77F764F7 8995 6CFFFFF>mov dword ptr ss:[ebp-94],edx
77F764FD 8D70 10 lea esi,dword ptr ds:[eax+10]
77F76500 89B5 68FFFFF>mov dword ptr ss:[ebp-98],esi
77F76506 66:F747 02 F>test word ptr ds:[edi+2],0FFFF
再次Alt+M打开内存镜像
找到code区段或者是text区段(因为编写语言不一样所以区段名称的一样的,一般是00401000段)
内存映射,项目 22
地址=00401000
大小=000BB000 (765952)
宿主=登陆器 00400000
区段=CODE //F2下断,Shift+F9运行!直接到达OEP!
包含=code
类型=Imag 01001002
访问=R
初始访问=RWE
004BBDD8 55 push ebp //OEP,看入口代码特征就知道程序是Delphi写的
004BBDD9 8BEC mov ebp,esp
004BBDDB 83C4 F0 add esp,-10
004BBDDE B8 98B94B00 mov eax,登陆器004BB998
004BBDE3 E8 BCA5F4FF call 登陆器004063A4
004BBDE8 A1 7CE84B00 mov eax,dword ptr ds:[4BE87C]
在此LordPE完全Dump!请出Import来修复下!OEP处填BBDD8--自动搜索IAT--获取输入表(全部有效)--FixDump!
测试正常运行,用PEID查看是Borland Delphi 60 - 70写的
作者:
苦咖啡
时间:
2008-1-25 09:50
打不开聊天窗口,单从你刚才讲的来看QQ应该是可以正常运行的,如果不是安装的QQ只是在使用一些网页插件来激活QQ会话可能会因为加载不到一些dll文件失败,可不会说打不开聊天窗口,我解过QQ的安装包,看过安装引导程序,并没有系统之分,也有可能你在拷贝别人文件的时候,QQ的一些组件正在运行而复制失败就可能会有这种原因,如果能上网,还是建意你去网上下载一个,目前带外挂的是漂云的好用点,珊瑚虫因和QQ正在打官司所以目前停止了开发,建意你使用这个版本,相对来说是比较稳定的,最下下载2007版
作者:
苦咖啡
时间:
2008-1-25 13:03
网上也有繁体版本的,你可以下载一个,如果不想看到对方的IP可以直接去QQ官方网站去下载一个
那里有繁体版的QQ
希望可以帮到你
作者:
白开水
时间:
2008-1-26 08:17
TM2008 好用,界面简单。无广告、去
http://imqqcom
下载。
作者:
恋恋叶
时间:
2008-1-26 09:46
ASProtect 20x
这个怎么脱啊?困扰我N久了。。
作者:
苦咖啡
时间:
2008-1-26 19:10
如果你实在是单步跟踪找不到出口
我可以教你一个办法
f7运行到第一个call
在寄存器里面就有一个ESP是红色的
点右键窗口跟随
或是在命令地方输入dd ESP的值回车
然后f9运行,这个时候取消内存断点
然后在F7一步就到出口了
欢迎光临 郧西论坛 (http://www.yunxi.net/)
Powered by Discuz! X3.2