幽雅的心 发表于 2010-11-23 08:19:04

小菜也脱VMP

PEiD扫描下:
Nothing found 查看区段 有vmp字样

OD载入来到此处:
00427B98 >68 7E91C596   push 96C5917E
00427B9D    E8 29A60000   call 网页反限.004321CB
00427BA2    D1E8            shr eax,1
00427BA4    55            push ebp
00427BA5^ E9 ACC2FFFF   jmp 网页反限.00423E56
00427BAA    01D8            add eax,ebx

F8单步一下,然后对esp数据窗口跟随:
0012FFC096C5917E
0012FFC47C817077返回到 kernel32.7C817077
0012FFC87C930228ntdll.7C930228
对0012FFC0处下硬件访问断点
然后就是F9运行了…
一次中断:
0043324A    68 CAE2F381   push 81F3E2CA
0043324F    C60424 CE       mov byte ptr ss:,0CE
00433253    F7DE            neg esi
00433255    60            pushad
二次中断:
004331FF    F9            stc
00433200    83C5 04         add ebp,4
00433203    9C            pushfd

//直到最后一次用户空间代码00432A08处
00432A08    FF7424 14       push dword ptr ss:               ; 网页反限.0043265C
00432A0C    9C            pushfd
00432A0D    9C            pushfd
00432A0E    8D6424 3C       lea esp,dword ptr ss:
00432A12^ E9 C1FEFFFF   jmp 网页反限.004328D8
接着删除硬件断点, 然后再对代码段下F2断点…
来到这里:
004012A0      FF            db FF
004012A1      25            db 25                                    ;CHAR '%'
004012A2      9C            db 9C
004012A3      10            db 10
004012A4      40            db 40                                    ;CHAR '@'
004012A5      00            db 00
004012A6      00            db 00
004012A7      00            db 00
去除分析:
0040126A- FF25 BC104000   jmp dword ptr ds:                ; MSVBVM60.__vbaFreeObj
00401270- FF25 20104000   jmp dword ptr ds:                ; MSVBVM60.__vbaHresultCheckObj
00401276- FF25 28104000   jmp dword ptr ds:                ; MSVBVM60.__vbaObjSet
0040127C- FF25 44104000   jmp dword ptr ds:                ; MSVBVM60.__vbaGenerateBoundsError
00401282- FF25 8C104000   jmp dword ptr ds:                ; MSVBVM60.__vbaStrCopy
00401288- FF25 50104000   jmp dword ptr ds:                ; MSVBVM60.__vbaRedim
0040128E- FF25 60104000   jmp dword ptr ds:                ; MSVBVM60.EVENT_SINK_QueryInterface
00401294- FF25 40104000   jmp dword ptr ds:                ; MSVBVM60.EVENT_SINK_AddRef
0040129A- FF25 54104000   jmp dword ptr ds:                ; MSVBVM60.EVENT_SINK_Release
004012A0- FF25 9C104000   jmp dword ptr ds:   //停到此处             ; MSVBVM60.ThunRTMain
004012A6    0000            add byte ptr ds:,al
004012A8    68 EC2DC596   push 96C52DEC
004012AD    E8 95F60100   call 网页反限.00420947


我们知道
Push xxxxx
Callyyyyy是VB程序的入口地址
那么就来查找一下字符串:
VB5(VB程序的特征)
点击M, 进入内存镜像,选择右键搜索”VB5”
结果在0040E2A4处找到特征码
0040E2A456 42 35 21 36 26 76 62VB5!6&vb
0040E2AC36 63 68 73 2E 64 6C 6C6chs.dll
0040E2B400 00 00 00 2A 00 00 00....*...
接着把OEP修复下就OK了.
004012A8    68 EC2DC596   push 0040E2A4
004012AD    E8 95F60100   call004012A0
然后设置004012A8处为新的EIP
,此时DUMP出来,再用ImportRec修复下就OK了.
用PeiD扫描下;
Microsoft Visual Basic 5.0 / 6.0
运行下,成功运行… 版本比较低,也比较简单… 很适合我这种新手,呵呵

gxwtk 发表于 2010-11-23 15:04:12

使用vmp加壳的人,能把这个壳用成这样,真是厉害啊。。。

yayo6506 发表于 2010-11-23 15:19:41

我知道了,谢谢楼主的介绍,再接再厉,更上一层楼。

lgjxj 发表于 2010-12-29 22:15:36

进来学习一下

huangdiku 发表于 2011-2-17 15:22:47

VB的能运行,为啥易语言弄起来不能运行呢/:L

gadong 发表于 2014-2-10 09:55:28

菜鸟看到VMP,直接垃圾站见。

storm 发表于 2014-2-11 13:18:58

膜拜下 还是停留在初级的脱壳水平

sparkler4680 发表于 2014-2-15 11:17:55

进来学习一下

montana 发表于 2014-2-16 09:30:41


干的不错    学习感谢分享

wukong2016 发表于 2014-3-4 17:07:08

现在VMP的壳越来越多了,有必要好好研究一下了。
页: [1] 2
查看完整版本: 小菜也脱VMP