[计算机]虚拟机、虚拟环境与代码动态变形技术_第1页
[计算机]虚拟机、虚拟环境与代码动态变形技术_第2页
[计算机]虚拟机、虚拟环境与代码动态变形技术_第3页
[计算机]虚拟机、虚拟环境与代码动态变形技术_第4页
[计算机]虚拟机、虚拟环境与代码动态变形技术_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机虚拟机、虚拟环境与代码动态变形技术计算机虚拟机、虚拟环境与代码动态变形技术目录目录虚拟机保护的简介x86虚拟机保护的构建v指令扩展式的构建v第三方虚拟机的构建v代码乱序v代码替换v花指令的构建v问题虚拟机保护的简介虚拟机保护的简介v起源v保护的目的v保护的对象v保护的手段x86虚拟机保护的构建虚拟机保护的构建v为什么要选取x86虚拟机 开发周期短 稳定性高 避免重定位修复x86虚拟机保护的构建虚拟机保护的构建v直接使用x86虚拟机做保护的不安全性 编码的公开v对x86虚拟机解释代码保护 OPCODE表随机映射 字节码的加解密 变形后的指令处理句柄 虚拟机上下文结构随机x86虚拟机保护的构

2、建虚拟机保护的构建x86虚拟机保护的构建虚拟机保护的构建v字节码的加解密 加密后指令1 - decoder(随机的密钥) - 指令1 - HASH(指令1) = key1加密后指令2 - decoder(key1) - 指令2 - HASH(指令2) = key2加密后指令3 - decoder(key2)- 指令3 - HASH(指令3) = key3.x86虚拟机保护的构建虚拟机保护的构建v变形后的指令处理句柄 花指令插入 指令扩展 重定位x86虚拟机保护的构建虚拟机保护的构建v虚拟机上下文结构随机 结构字段的变换 虚拟机上下文重定位结构 用于与上下文结构一同传递,还原原始的上下文结构x8

3、6虚拟机保护的构建虚拟机保护的构建v进入虚拟机之前要做的事情 切换堆栈 保存当前运行上下文x86虚拟机保护的构建虚拟机保护的构建v异常的模拟 内存访问权限不足 未知指令指令扩展保护指令扩展保护v源于扭曲加密变换v直接作用于PE文件v指令模板化v重定位的修复指令扩展保护指令扩展保护v指令模板化指令扩展保护指令扩展保护v例如一条指令 add eax, 1v我们可以将它转化为vcall ADD_EAX_1vJmp ADD_EAX_1_ENDv; 这里为垃圾代码vADD_EAX_1:vpush ebpvmov ebp, espvsub esp, 0 x08vpush ebxvmov dword ptr

4、 ebp-0 x04, 5vmov ebx, 4vsub dword ptr ebp-0 x04, ebxvadd eax, dword ptr ebp-0 x04vmov esp, ebpvpop ebpvRetvADD_EAX_1_END:指令扩展保护指令扩展保护v重定位修复 遍历代码,找出所有的跳转指令 随机的插入代码 重新遍历代码,找出所有的跳转指令 通过第一次找出的偏移进行新偏移的修订第三方虚拟机第三方虚拟机v最早可以在某些crackme中见到,用于保护算法v指令编码的设计v汇编器的设计v调试器的设计第三方虚拟机第三方虚拟机v壳的虚拟化 壳的重要部分,IAT表修复,加解密运算,反调试

5、模块使用新的汇编语言进行编写第三方虚拟机第三方虚拟机v用户的自定义功能扩展 编写反调试模块 增加类似真实指令的伪指令区块第三方虚拟机第三方虚拟机第三方虚拟机第三方虚拟机vx86代码 - 虚拟机BYTECODE虚拟机保护可能出现的虚拟机保护可能出现的BUGv外部函数动态跳转引发的状况 从外部函数直接跳入到被保护的函数中,而不是头地址 跳转是一个动态跳转,无法修复mov eax, BaseAddressadd eax, Offsetjmp eax代码乱序代码乱序v增加逆向的难度v让壳重新获得程序的控制权代码乱序代码乱序代码替换代码替换v将要保护的代码替换为花指令,将被保护的代码放置到新的内存内。v

6、在执行被保护的代码时跳转到新的内存。代码替换代码替换v找到两个JMP/CALL/JCC之间的代码段并记录到结构v遍历这个结构,把要替换的代码段搬运到新的空间,在新的空间末尾添加一个跳入原先代码段结束的地址v将原先的代码块的首5个字节添加一个JMP跳入到搬运后的地址。并填充同样长度的花指令v将这个代码块除了首5个字节其余字节以花指令填充偏移的修复偏移的修复v设:目标地址为y,从JMP或者CALL后取出的偏移为x, JMP或者CALL的指令长度为I,当前地址为C。第一个公式y = C+ x + I第二个公式y = C - (x) + 1) - I)花指令的产生器的构建花指令的产生器的构建v根据随机率产生随机的花指令v根据要产生的长

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论