首页
社区
课程
招聘
[原创]aspr 2.11 ske加壳之某vb程序脱壳
发表于: 2006-5-20 16:45 4098

[原创]aspr 2.11 ske加壳之某vb程序脱壳

2006-5-20 16:45
4098
aspr 2.11 ske加壳之某vb程序脱壳

谨以此文献给遭受攻击的一蓑烟雨,祝早日恢复正常。

去掉了软件信息。

声明:只是感兴趣,失误及不妥之处还请各位大侠指出(越来越谦虚了)。

开始前先谢谢VolX和他的脚本。

一、oep
寻找oep脚本停在这里:
012903C4   /EB 01           jmp     short 012903C7
012903C6   |69FF 74240826   imul    edi, edi, 26082474
012903CC    EB 02           jmp     short 012903D0
012903CE    CD20 669C52BA   vxdjump BA529C66
012903D4    C6              ???                                      ; 未知命令
到code区段查找命令 jmp 012903C4
真正的oep:
00403A84  - E9 3BC9E800     jmp     012903C4
00403A89    095D 02         or      [ebp+2], ebx
00403A8C    4B              dec     ebx
00403A8D    B6 C9           mov     dh, 0C9
00403A8F    0000            add     [eax], al
00403A91    0000            add     [eax], al
00403A93    0030            add     [eax], dh
00403A95    0000            add     [eax], al
00403A97    0040 00         add     [eax], al
修复oep:
vb程序oep格式如下:
push  00xxxxxx
call  00xxxxxx
这两句下面就是数据了,aspr只抽这2句。
先第一句,按F8单步,并看堆栈窗口:
0012FFAE   00000000
0012FFB2   012903C4
0012FFB6   00404C90  ASCII "VB5!6&vb6chs.dll"  这里是第一句push的地址
0012FFBA   0043E33A  FantasyD.0043E33A
第二句是个call,许多人总结了许多方法找到call的真实目的地,其实有一个非常简单的方法:code区段下内存访问断点。道理是什么?想想就知道了。
这时,code区段下内存访问断点,运行,中断在这里:
00403A7C  - FF25 44124000   jmp     [401244]                         ; msvbvm60.ThunRTMain
00403A82    0000            add     [eax], al
00403A7C就是oep第二句call的地址了。
oep是:
push 00404C90
call 00403A7C

二、iat
重新运行程序,运行iat修复脚本,waiting and waiting 修复完成后,到达00403A84,恢复oep:
push 00404C90
call 00403A7C

三、结束
dump,fix,ok。

四、破解
不符合本文标题内容,略。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 207
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
学习中
支持........
2006-5-20 16:46
0
雪    币: 333
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wan
3
不是很懂,下来练练,学习一下~~~~

软件简介可以省略吧? so long
2006-5-20 16:58
0
雪    币: 47147
活跃值: (20380)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
4
有了VolX脚本,现在ASProtect壳可以很轻松地对付了

最初由 wan 发布
软件简介可以省略吧? so long

同意wan观点,这帖目的是交流技术的,不是介绍软件的。

http://bbs.pediy.com/showthread.php?s=&threadid=20227
最初由 kanxue 发布

建议大家写文章的时候:
1. 开始几行(如【破文标题】,【破文作者】等),每行都空一行,制作CHM时感觉不爽。建议不空行,这样紧凑些。
2. “软件简介”这项字数不要太多,最多1、20字足矣,能不写简介最好。
3. 在论坛上不可能避免地要讨论到具体的软件,我们还是建议大家尽可能拿些国外的软件来练习。
4. 涉及的软件版本列清楚,方便制作索引目录。
2006-5-20 17:03
0
雪    币: 277
活跃值: (312)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
5
去掉了软件信息。
2006-5-21 11:16
0
游客
登录 | 注册 方可回帖
返回
//