VMProtect
提供常规的数据加密、代码加密和其他反调试等功能,还能在汇编指令层面对程序逻辑进行虚拟化,将开发者指定的代码段中所有的汇编指令转变为自行编写的一套指令集中的指令,并在实际执行时由自行编写的虚拟机执行器进行模拟执行。
如何更好更正确的利用VMProtect保护你的软件-CSDN博客
VMP指令分类
汇编指令转换到虚拟机的指令体系的过程中,被最大限度的化简和归类了。
VMP中的指令大体分为5类:
1、算术运算和位移运算
2、堆栈操作
3、内存操作
4、系统相关(无法模拟指令)
5、逻辑运算
逻辑运算指令
VMP的逻辑运算指令:nor
这个指令在电路门中叫NOR门,它由三条指令组成,即not not and。与NAND门一样,用它可以模拟 not and xor or这四条逻辑运算指令。
转换公式:
1 | P(a,b)=~a & ~b |
[VMprotect简介-CSDN博客](https://blog.csdn.net/CSNN2019/article/details/114042760?ops_request_misc=%7B%22request%5Fid%22%3A%22171841820016800227459648%22%2C%22scm%22%3A%2220140713.130102334..%22%7D&request_id=171841820016800227459648&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~baidu_landing_v2~default-2-114042760-null-null.nonecase&utm_term=VMprotect CTF&spm=1018.2226.3001.4450)