【已解决】关于一个DLL文件脱壳问题的求助
首先自我说明一下,接触软件反汇编很长时间了,由于不是专业的计算机水平,还一直徘徊不前,平时自己在下面研究,看一些DX的教程。由于我语言编排水平欠佳,不知道怎么提问,所以也没有信心在论坛上发贴。最近在学习脱壳的时候,偶然遇到一个Upack加壳的DLL文件,由于本人水平有限,按照教程和一些常规的方法,脱不下来,Upack加壳的EXE,基本上还能搞明白,但DLL这方面,就没有什么经验了,所以鼓足勇气,想请高水平的兄弟帮忙看一看,到底是哪出错了?首先在此谢谢各位了。论坛不允许上传图片,那我就简单描述一下吧。
用OD载入,出现了CPU地址异常,然后忽略所有异常,载入,就直接到软件内部(不知道是不是跑起来了?)
ESP定律搞不定,然后尝试用脚本来跑,但出现跑过现象。
然后用LOAD直接脱,出现了错误。
以前脱过UPACK加壳的EXE文件,没有出现过这个现象,所以一时间摸不到头脑了,还请论坛的兄弟帮忙看看,附件在下面,谢谢了!
[ 本帖最后由 nettao 于 2007-6-5 16:56 编辑 ] 希望有哪位大大帮我指点一二,谢谢了! 你试下!脱DLL和EXE是有区别的,建议先从基础的学起!
[ 本帖最后由 glts 于 2007-6-3 12:13 编辑 ] 真的非常非常感谢版主,版主可能误会了,我想知道的是过程,研究了一个晚上,没有头绪,版主能否指点一二,真的非常感谢。
版主说的先从基础学起,是不是这个壳很有难度? 原帖由 nettao 于 2007-6-2 23:37 发表 https://www.chinapyg.com/images/common/back.gif
真的非常非常感谢版主,版主可能误会了,我想知道的是过程,研究了一个晚上,没有头绪,版主能否指点一二,真的非常感谢。
版主说的先从基础学起,是不是这个壳很有难度?
EXE和DLL有些区别就是DLL脱下来后需要做重定位。所以你得对此有一定的了解!如果你是急用则完事,如果你是想学习,那么你应该从基础开始更进一步的去了解!论坛里资源众多,可以搜一下,也可下载07版教程。 爱上PYG!/:09 /:09 /:09 /:09
版主没有丝毫的架子,平易近人,乃众人之所爱也! 我来PYG时比你还不如,因为这里就是我们初学者的家。我们应该爱她。 感谢版主帮忙,相对于结果而言,我更喜欢的是过程,因为过程交流真的是“授人以渔”。
到现在,自己还是没有完全的搞懂,不管怎样,还是谢谢版主了,如果能有一篇,哪怕是简短跟踪思路,我真的是非常感激了! 一、OD载入
10001000 .E8 05000000 call bak007.1000100A
10001005 .E9 0B000000 jmp bak007.10001015
1000100A $B9 550D0610 mov ecx,bak007.10060D55
1000100F .- FF25 F8A00110 jmp dword ptr ds: ;MSVCP60.std::ios_base::Init::Init
10001015 >68 21100010 push bak007.10001021
1000101A .E8 BF7D0100 call bak007.10018DDE
1000101F .59 pop ecx
10001020 .C3 retn
二、F9运行,关掉DLL加载器的小框框来到下面
1028A1FD > $60 pushad
1028A1FE .E8 09000000 call bak007.1028A20C
1028A203 .0000 add byte ptr ds:,al
1028A205 .0000 add byte ptr ds:,al
1028A207 >E9 06020000 jmp bak007.1028A412
1028A20C $33C9 xor ecx,ecx
1028A20E .5E pop esi
1028A20F .870E xchg dword ptr ds:,ecx
1028A211 .^ E3 F4 jecxz short bak007.1028A207
三、F8单步 HR 0006FDF0(ESP定律)
1028A413 .- E9 39E1FEFF jmp bak007.10278551 ;飞向大陆
10278551 >^/E9 310BDAFF jmp bak007.10019087 ;再F8
四、到达OEP
10019087/> /55 push ebp
10019088|. |8BEC mov ebp,esp
1001908A|. |53 push ebx
1001908B|. |8B5D 08 mov ebx,dword ptr ss:
1001908E|. |56 push esi
1001908F|. |8B75 0C mov esi,dword ptr ss:
10019092|. |57 push edi
10019093|. |8B7D 10 mov edi,dword ptr ss:
10019096|. |85F6 test esi,esi
10019098|. |75 09 jnz short bak007.100190A3
1001909A|. |833D A81C2710 00cmp dword ptr ds:,0
100190A1|. |EB 26 jmp short bak007.100190C9
100190A3|> |83FE 01 cmp esi,1
100190A6|. |74 05 je short bak007.100190AD
100190A8|. |83FE 02 cmp esi,2
100190AB|. |75 22 jnz short bak007.100190CF
100190AD|> |A1 B01C2710 mov eax,dword ptr ds:
100190B2|. |85C0 test eax,eax
100190B4|. |74 09 je short bak007.100190BF
五、DUMP&修复
六、重定位 先下了,好好研究一下。
多谢 glts 。。。。
页:
[1]
2