【原创】破解vmp程序的关键点

本文详细解析了VMP中关键的跳转指令实现原理及条件跳转的逻辑运算过程,对于理解VMP保护机制和破解技术具有重要意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内容:
引用:
PART I:
vmp里面有很多handle,有一种handle很特殊,有几份copy,大致运算是:

not A
not B
and A , B

这个好像叫什么xx门的,它是计算jcc指令的关键点,一般爆破都是找jcc指令,因此,这条指令是破解的关键点


PART II:
11楼说的东西是基础,在这里:
http://hi.baidu.com/depteicn/blog/it...331add189.html

14楼也是基础的电路图


建议把这两个看懂,再向下看



PART III:

vmp里面有唯一的跳转指令,handle大概是这样的

mov e?x,[ebp]
add ebp,4
mov esi, e?x

这条handle是跳转指令,jmp,唯一的跳转,那么如何实现条件跳转呢?就要用到上面的那条唯一的逻辑运算handle


PART IV:

看到这里,大家应该明白了,vmp实现跳转,是先用上面的xx门,把eflag计算好,是跳还是不跳,然后决定选择哪一个地址,再用PART III里面的指令跳过去


PART V:

所以说要破解vmp要找到关键的jmphandle,确定这个handle是关键跳转,必须利用前面的xx门的计算来确定

资料:
引用:
看懂上面的就可以看下面回帖中的高级教程了,虽然离破解有点远,但是离还原有点近

感谢发哥,感谢B哥,感谢ccfer,感谢bughoho,感谢所有观众,纪念刘和珍君

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值