关键代码定位

VMProtect并不像其他加壳软件一样容易操作,必须告诉VMProtect你要加密的代码具体地址,这个对使用者有一定的要求,至少要有些解密基础。

在这以一个记事本程序为例来演示一下使用方法。

运行VMProtect后,打开NOTEPAD.EXE文件。单击Dump标签,输入要加密的起始地址,光标来到要加密代码起始地址后,点击菜单“project/newprocedure”,会出现一个新的项目

VMProtect保护原理

与其它大部分的保护程序不同,VMProtect可修改程序的源代码[2]。VMProtect可将被保护文件中的部分代码转化到在虚拟机(以下称作VM)上运行的程序(以下称作bytecode)中。您同样可把VM想象为具备命令系统的虚拟处理器,该命令系统与Intel 8086处理器所使用的完全不同。例 如,VM没有负责比较2个操作数的命令,也没有有条件与无条件的移转等。就象您看到的,黑客必须开发一款特定的工具以分析与反编译bytecode, 而且还相当地耗时。可是,我们知道没有无法破解的保护程序,这也是我们为什么会将保护级别达到破解费用与购买费用相当(或破解费用甚至超过购买费用)的程度。不管怎么样,请记住VMProtect是唯一一款能帮助您“隐藏”主要软件保护机制的工具。

推荐内容