VMP壳 :是用来保护关键的代码段的一种加密壳 原理:抽出局部代码,转变为中间码,虚拟机引擎对中间码进行解释,替代CPU解释执行代码,然后跳转回源地址,每次执行都解释执行一次代码,虚拟机有一套自己的反编译算法去解释执行代码: 比如 mov = 0xe8 ebx ...
总结vmp壳基础原理,大牛不要喷啊 .与传统的加壳工具不同,不是简单的把目标进行压缩 内存解压运行,而是修改目标源码,让目标的部分指令在vmp创建的虚拟环境下运行,虚拟环境中无操作数比较指令 条件跳转和无条件跳转指令 .被修改替换的目标指令最终形成的字节码有前后相关性,即你改变其他任意一个字节会影响到所有被vm虚拟化的指令 .vmp的虚拟机其实是一个字节码解释器,循环的读取指令并执行,并且只有一 ...
2018-09-06 20:31 0 6687 推荐指数:
VMP壳 :是用来保护关键的代码段的一种加密壳 原理:抽出局部代码,转变为中间码,虚拟机引擎对中间码进行解释,替代CPU解释执行代码,然后跳转回源地址,每次执行都解释执行一次代码,虚拟机有一套自己的反编译算法去解释执行代码: 比如 mov = 0xe8 ebx ...
介绍VMP虚拟化原理之前,先简单介绍一下计算机运行的原理。总所周知,现代计算机的核心部件是CPU、内存、磁盘、键盘、显示器等;最最最核心的就属CPU、内存和磁盘了。用户按开机键,CPU会把OS从磁盘加载到内存运行。由于CPU只能识别并执行二进制文件,所以代码、数据等都是以二进制存放在磁盘和内存 ...
1、软件的逆向、外挂、破解等,本质上是想办法改变原有代码的执行路径,主要的方式有两种: 改变某些关键数据,比如函数参数(android下有xpose、frida等现成的hook框架,逆 ...
这次爆破的是某编辑类软件,版本是32位绿色版本:V4.3.1 1、OD打开后发现了VMP0段,这里下个内存访问断点: 又来到这里了,非常明显的VMP入口特征: 一大堆push指令又开始保存物理寄存器;同时让esi指向虚拟指令集;和上面一篇文章分析的混淆 ...
好久没有到博客写文章了,9月份开学有点忙,参加了一个上海的一个CHINA SIG信息比赛,前几天又无锡南京来回跑了几趟,签了阿里巴巴的安全工程师,准备11月以后过去实习,这之前就好好待在学校学习了。 这段时间断断续续把《加密与解码 第三版》给看完了,虽然对逆向还是一知半解,不过对VMP虚拟机加壳 ...
介绍 这个壳的核心——字节码解释器,它参考了dalvik虚拟机的解释器。不需要hook、注入。目前只支持算数运算指令。 我个人把dalviki指令分为这么几类: 算数运算指令。 引用类指令。如const-string、invoke-kind,这类指令需要引用dex的资源。 其他指 ...
这是一个困扰我很久很久的问题,本来打算把exe的打包签名做成jenkins自动化的,却被这个问题打断了。 最后,无意中找到了解决方案。我们下载的包解压后结构如下: 里面的VMProtect_Con.exe就是用来做命令行加壳的,如何做呢:VMProtect_Con.exe 直接 ...
...