lucifer2046 发表于 2011-2-28 19:00

和谐下VMP2.07的脱壳(本文来自网络。。。)

本帖最后由 lucifer2046 于 2011-2-28 19:58 编辑

大致的脱壳流程还是没什么变:
1.到OEP后dump
2.生成IAT的对应关系txt
3.添加进DLL,实现跨平台
但是,IAT的处理,新版的VMP有了点变化,之前的版本,外壳是获取全部的IAT地址后,存放在某内存区域,然后进行填充;而新版的VMP的,则是获取1个,填充1个。其实也是换汤不换药的更新,只是,以前的脚本都失效了,于是只能自己动手搞一下。
首先,用fkvmp,获取2条handler的地址:VM_Retn和VM_WmDs32,这2跳handler的地址,一会要手动修改脚本里的2个地址。
具体不多说了,就给出2个脚本:
一:OEP Founder:
/*
VMProtect OEP Founder
by ximo
just for fun
*/
var imagebase
var tmp
var pNtHeader
var sectionaddr
var sectionsize
var sum
var protection
var retn
//VM_Retn
mov retn,0104f1fe
bc
bphwc

GMI eip, MODULEBASE
mov imagebase, $RESULT
mov tmp,
add tmp,imagebase
mov pNtHeader,tmp
add pNtHeader,f8
mov tmp,pNtHeader
add tmp,c
mov sectionaddr,
add sectionaddr,imagebase
mov tmp,pNtHeader
add tmp,8
mov sectionsize,
mov sum,sectionaddr
add sum,sectionsize

gpa "VirtualProtect", "kernel32"
cmp $RESULT, 0
je err
bp $RESULT+13
loop:
esto
mov protection,
cmp protection,20
je next
jmp loop
next:
bc
rtu
find:
bp retn
esto
bc

bprm sectionaddr,sectionsize
esto
cmp eip,sum
bpmc
ja find
finded:
cmt eip,"this is OEP or Near OEP!"
ret
err:
ret

二:Fake IAT:
/*
VMProtect 2.07 Unpacker
by ximo
just for fun
*/
var getfunc
var dllname
var apiname
var writeaddr
var addr
var apiaddr
var key
var info
var end
var logfile
mov logfile,"FkIAT.txt"

/*
VM_WmDs32:      
01050DA5    8910                  mov dword ptr ds:,edx
*/
mov writeaddr,01050DA5
//OEP or stop script addr
mov end,0100739d
bc
bphwc
gpa "CreateFileA", "kernel32"
cmp $RESULT, 0
je err
bp $RESULT+26
esto
bc
rtu
mov getfunc,eip
bphws getfunc, "x"
bphws end, "x"
loop:
run
cmp eip,end
je end
gn eax
cmp $RESULT,0
je next
do:
mov apiaddr,eax
mov dllname,$RESULT_1
mov apiname,$RESULT_2
bp writeaddr
esto
bc eip
mov addr,eax
mov key,apiaddr
sub key,edx
eval "{addr},{key},{dllname},{apiname}"
mov info,$RESULT
wrta logfile,info
next:
jmp loop
end:
ret
err:
bc
bphwc
ret

跑完脚本后,dump下来,然后添加进修复的dll,跟fkiat.txt放一起,就可以实现跨平台了。本文来自网络。。。

下载:(FKVMP)

zone0826 发表于 2011-2-28 19:36

还是希望能说下具体的……例如FKVMP是啥……我菜鸟,问的太菜……别喷我……

wgz001 发表于 2011-2-28 19:10

标题应该注明是转载

lmj43993839 发表于 2011-2-28 19:38

感谢分享   来学习了。

lucifer2046 发表于 2011-2-28 19:54

回复 wgz001 的帖子

FKVMP OD插件!http://www.52pojie.cn/thread-70432-1-1.html!自己去练!无语了!

yjd333 发表于 2011-2-28 20:28

例如FKVMP是啥
很早就有了。只是到现在我也不会用

心海伽蓝 发表于 2011-3-2 14:05

呼呼——开始脱2.07了?

qzy0549 发表于 2011-3-3 02:15

哎 这个脱壳太有难度了

xiaoy 发表于 2011-3-12 17:07

希望能把 这个dll发来玩下

spring819 发表于 2011-3-12 18:03

来进行学习一下啊。。谢谢楼主
页: [1] 2
查看完整版本: 和谐下VMP2.07的脱壳(本文来自网络。。。)