代码保护软件VMP逆向分析虚拟机指令

VMProtect是一种很可靠的工具,可以保护应用程序代码免受分析和破解,但只有在应用程序内保护机制正确构建且没有可能破坏整个保护的严重错误的情况下,才能实现最好的效果。

VMProtect通过在具有非标准体系结构的虚拟机上执行代码来保护代码,这将使分析和破解软件变得十分困难。除此之外,VMProtect还可以生成和验证序列号,限制免费升级等等。

下载VMProtect最新试用版

VMProtect正版授权在线订购享受最低价,仅售801元起!还不赶紧加入你的订购清单?>>更多详情可点击咨询购买

相关链接:

代码保护软件VMP逆向分析虚拟机指令:初步认识与环境搭建(一)

代码保护软件VMP逆向分析虚拟机指令:VMP代码的提取(二)

代码保护软件VMP逆向分析虚拟机指令详细分析(三)

代码保护软件VMP逆向分析虚拟机指令:分析那4条汇编被VM的VM指令

五、分析VM的一些细节

我们差不多讲完基础分析是吧,基本上可以说是可以动手分析了,但是在那之前我们有些东西好像还没讲清楚,一些细节。

1、VM的栈问题

有个地方我们还没讲 ,就是如果压栈时 , 如果超出了栈大小 (就目前我们看到的还没有超栈的情况),占用到了vm_context怎么办下面是我截取的汇编, 所以你看到地址有时候很奇怪 。我们来分析一下如果压栈超出了栈空间怎么办
00433391 8D4424 60 lea eax,dword ptr ss:[esp+0x60]
00433395 F6C5 65 test ch,0x65
00433398 3BC9 cmp ecx,ecx
0043339A 66:81FD EA79 cmp bp,0x79EA
0043339F 3BE8 cmp ebp,eax
004333A1 E9 0F3A0000 jmp vmptest_.00436DB5
00436DB5 /0F87 F2C80200 ja vmptest_.004636AD ;看到这里我们之前都是跳了 我们追踪代码
00436DBB |8BC4 mov eax,esp ;的时候下面的代码就被跳过了,直接到了
00436DBD |8ACB mov cl,bl ;vmtest_.004636AD 接下来我们重点讲没跳
00436DBF |B9 40000000 mov ecx,0x40 ;过的这部分代码
00436DC4 |0FC0F6 xadd dh,dh
00436DC7 |8D5425 80 lea edx,dword ptr ss:[ebp-0x80]
00436DCB |3BFF cmp edi,edi
00436DCD ^|E9 101CFEFF jmp vmptest_.004189E2
004189E2 81E2 FCFFFFFF and edx,0xFFFFFFFC
004189E8 F9 stc
004189E9 66:F7C7 8465 test di,0x6584
004189EE 2BD1 sub edx,ecx
004189F0 ^ E9 38D1FFFF jmp vmptest_.00415B2D
00415B2D 8BE2 mov esp,edx
00415B2F 57 push edi
00415B30 66:BF CD59 mov di,0x59CD
00415B34 0FBFF8 movsx edi,ax
00415B37

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值