虚拟机逆向

虚拟机逆向

什么是虚拟机逆向

虚拟机逆向针对的目标是出题人自行编写的小型虚拟机。与其说是虚拟机,更像是一个小型的解释执行系统或者模拟器(Emulator)。

所以虚拟机保护技术,是将程序可执行代码转化为自定义的中间操作码(Operation Code,如果操作码是一个字节,一般可以称为Bytecode),用以保护源程序不被逆向和篡改,opcode通过emulator解释执行,实现程序原来的功能。在这种情况下,如果要逆向程序,就需要对整个emulator结构进行逆向,理解程序功能,还需要结合opcode进行分析,整个程序逆向工程将会十分繁琐。

主要的分析对象有opcode,handler,虚拟机的初始化,入口,输入等