首页
社区
课程
招聘
[旧帖] [原创] 手脱 nSpack V2.x -> LiuXingPing*壳 0.00雪花
发表于: 2007-5-8 13:26 8713

[旧帖] [原创] 手脱 nSpack V2.x -> LiuXingPing*壳 0.00雪花

2007-5-8 13:26
8713
标 题: 【原创】   手脱 nSpack V2.x -> LiuXingPing*壳 (高手过呵呵 ,给新人的)
作 者: guangviphc
时 间: 2007-05-8,12:37

献给象我一样的菜鸟,学脱壳不长时间但是小有点心得,愿意与大家分享,最看到了有人被

nSpack V2.x -> LiuXingPing* 这个壳弄的很惨,所以写了这个东西出来 与大家分享,

也算是对我成长的一个见证吧,,高手可以不用看了,没什么含量的 东东。

这里首先要说下ESP 定律了,,先感谢一下FLY 前辈门为我门总结出这样好的定律出来,,呵呵

ESP定律就是 ESP在入栈和出栈时的值是不变的,,是对应的,,所以我门可以利用这点 来方便的找到

OEP, 网上还有很多ESP 定律的 文章 ,我说的比较简单,,如果不懂的话可以搜一下看看这方面的东西

很好用的一个定律,是我等菜鸟必备的 呵呵,例外要说的是ESP 定律对压缩壳是很好用的,,至于加密

壳其实也使用但是OEP是经过处理的所以还是要找的,好了开始我门今天的主题吧:

手脱   nSpack V2.x -> LiuXingPing*

纯熟技术交流,别无它意。

用PEID 载入查壳 发现是nSpack V2.x -> LiuXingPing* ,用OD 打开,忽略所有异常,光标停留在

008FBD0D >  9C              pushfd      //光标停留
008FBD0E    60              pushad       //F8 单步 走到这里 这里注意看ESP的值突显左键点击
ESP的值0012FFC0,然后 右键 数据窗口中跟随,在0012FFC0 下硬件访问字断点,下好后F9吧
008FBD0F    E8 00000000     call    008FBD14
008FBD14    5D              pop     ebp
008FBD15    B8 07000000     mov     eax, 7
008FBD1A    2BE8            sub     ebp, eax
008FBD1C    8DB5 A3FEFFFF   lea     esi, dword ptr [ebp-15D]
008FBD22    8A06            mov     al, byte ptr [esi]
008FBD24    3C 00           cmp     al, 0
008FBD26    74 12           je      short 008FBD3A
008FBD28    8BF5            mov     esi, ebp
008FBD2A    8DB5 CBFEFFFF   lea     esi, dword ptr [ebp-135]
008FBD30    8A06            mov     al, byte ptr [esi]
008FBD32    3C 01           cmp     al, 1
008FBD34    0F84 42020000   je      008FBF7C

程序运行到下面的代码, 删除 硬件断点

008FBF92  - E9 9A78B0FF     jmp     00403831    //关键 JMP  F7跟进吧
008FBF97    8BB5 57FEFFFF   mov     esi, dword ptr [ebp-1A9]
008FBF9D    0BF6            or      esi, esi
008FBF9F    0F84 97000000   je      008FC03C
008FBFA5    8B95 5FFEFFFF   mov     edx, dword ptr [ebp-1A1]
008FBFAB    03F2            add     esi, edx
008FBFAD    833E 00         cmp     dword ptr [esi], 0
008FBFB0    75 0E           jnz     short 008FBFC0
008FBFB2    837E 04 00      cmp     dword ptr [esi+4], 0

F7 跟进后,,我门会来到程序的OEP拉

00403831      55            db      55                               ;  CHAR 'U'//OEP拉
00403832      8B            db      8B
00403833      EC            db      EC
00403834      6A            db      6A                               ;  CHAR 'j'
00403835      FF            db      FF
00403836      68            db      68                               ;  CHAR 'h'
00403837      F0            db      F0
00403838      62            db      62                               ;  CHAR 'b'
00403839      40            db      40                               ;  CHAR '@'
0040383A      00            db      00
0040383B      68            db      68                               ;  CHAR 'h'
0040383C      A4            db      A4
0040383D      4C            db      4C                               ;  CHAR 'L'
0040383E      40            db      40                               ;  CHAR '@'
0040383F      00            db      00
00403840      64            db      64                               ;  CHAR 'd'

DUMP出来吧 PEID 查壳 Microsoft Visual C++ 6.0 呵呵脱完了,,然后用IMPORTREC 进行修复

入口点3831 修复成功 ,,就到这里吧,如有错误之处 希望大侠门指点,有疑问就请跟贴吧,

没什么含量 ,给新人门和为这个壳苦恼的朋友门一写帮助吧。。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 164
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
很好啊,适合新手
2007-5-8 15:42
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
适合我这样的新手新手
2007-5-10 11:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
最好上传个壳来
2007-7-21 20:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
很多壳都可以用ESP定律脱的!!要熟练应用ESP定律才行哦。。。。
2007-7-21 22:09
0
雪    币: 2899
活跃值: (1753)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
6
N多的人用ESP定律,但是却不知什么是ESP……
传说,学习脱壳一般是用F4,F7,F8组合,一步步到达目的地。
2007-7-21 23:46
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
7
ESP的值0012FFC0,然后 右键 数据窗口中跟随,在0012FFC0 下硬件访问字断点,下好后F9吧
008FBD0F    E8 00000000     call    008FBD14
008FBD14    5D              pop     ebp
008FBD15    B8 07000000     mov     eax, 7
008FBD1A    2BE8            sub     ebp, eax
008FBD1C    8DB5 A3FEFFFF   lea     esi, dword ptr [ebp-15D]
008FBD22    8A06            mov     al, byte ptr [esi]
008FBD24    3C 00           cmp     al, 0
008FBD26    74 12           je      short 008FBD3A
008FBD28    8BF5            mov     esi, ebp
008FBD2A    8DB5 CBFEFFFF   lea     esi, dword ptr [ebp-135]
008FBD30    8A06            mov     al, byte ptr [esi]
008FBD32    3C 01           cmp     al, 1
008FBD34    0F84 42020000   je      008FBF7C

按F9了,到那里挺住了,怎么运行下面的指令,F8单步不运行啊,不明白了!!
2007-8-6 22:33
0
游客
登录 | 注册 方可回帖
返回
//