2011.01.07_ximo_2个脚本(vmp 2.06)

/*
VMProtect 2.01-2.06 Unpacker of GetAPI
by ximo[LCG][DFJG]
just for fun
*/

var tmp
var end

mov end,0100739d

bc
bphwc

gpa "VirtualProtect", "kernel32"
cmp $RESULT, 0
je err
bp $RESULT+13
esto
bc
rtu


mov tmp,eip
bphws tmp,"x"
bphws end,"x"

loop:
run
cmp eip,end
je end
gn eax
cmp $RESULT,0
je loop
log eax
jmp loop

end:
bphwc
ret


err:
bc
bphwc
ret

 

 看log,记下最后一个。继续跑第二个。

/*
VMProtect 2.01-2.06 Unpacker
by ximo[LCG][DFJG]
just for fun
*/
var tmp
var lastapi
var getapi
var getkey
var end
var apiaddr
var dllname
var apiname
var addr
var key
var info
var isover
mov isover,0

var logfile
mov logfile,"FkIAT.txt"

/*
消息=eax: 77D317F7 | user32.SetWinEventHook
*/
mov lastapi,77D317F7
/*
VM_RmSs32:
01051CC3    36:8B00             mov eax,dword ptr ss:[eax]
*/
mov getapi,01051CC3
/*
VM_WmDs32:
01052AB6    8910                mov dword ptr ds:[eax],edx
*/
mov getkey,01052AB6

mov end,0100739d

bc
bphwc

gpa "VirtualProtect", "kernel32"
cmp $RESULT, 0
je err
bp $RESULT+13
esto
bc
rtu

mov tmp,eip
//eval "eax=={lastapi}"
//bpcnd tmp, $RESULT
bphws tmp,"x"

begin:
esto
cmp eax,lastapi
jne begin

bphwc
bphws getapi,"x"
esto

loop:
run
mov tmp,[eax]
gn tmp
cmp $RESULT,0
je loop

bphws getkey, "x"

do:
mov apiaddr,[eax]
gn apiaddr
cmp $RESULT,0
je next
mov dllname,$RESULT_1
mov apiname,$RESULT_2
esto
mov addr,eax
mov key,apiaddr
sub key,edx
eval "{addr},{key},{dllname},{apiname}"
mov info,$RESULT
wrta logfile,info

next:
cmp isover,1
je end
run
mov tmp,[eax]
cmp tmp,lastapi
jne do
mov isover,1
jmp do


end:
bphwc
bphws end,"x"
run
bphwc
ret


err:
bc
bphwc
ret

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值