吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 16351|回复: 18
收起左侧

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

[复制链接]
lucifer2046 发表于 2011-2-28 19:00
本帖最后由 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[LCG][DFJG]
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,[imagebase+3c]
add tmp,imagebase
mov pNtHeader,tmp
add pNtHeader,f8
mov tmp,pNtHeader
add tmp,c
mov sectionaddr,[tmp]
add sectionaddr,imagebase
mov tmp,pNtHeader
add tmp,8
mov sectionsize,[tmp]
mov sum,sectionaddr
add sum,sectionsize

gpa "VirtualProtect", "kernel32"
cmp $RESULT, 0
je err
bp $RESULT+13
loop:
esto
mov protection,[esp+c]
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[LCG][DFJG]
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:[eax],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
来进行学习一下啊。。谢谢楼主
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-18 02:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表