计算机虚拟机虚拟环境与代码动态变形技术ppt课件

上传人:夏** 文档编号:567918561 上传时间:2024-07-22 格式:PPT 页数:33 大小:2.02MB
返回 下载 相关 举报
计算机虚拟机虚拟环境与代码动态变形技术ppt课件_第1页
第1页 / 共33页
计算机虚拟机虚拟环境与代码动态变形技术ppt课件_第2页
第2页 / 共33页
计算机虚拟机虚拟环境与代码动态变形技术ppt课件_第3页
第3页 / 共33页
计算机虚拟机虚拟环境与代码动态变形技术ppt课件_第4页
第4页 / 共33页
计算机虚拟机虚拟环境与代码动态变形技术ppt课件_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《计算机虚拟机虚拟环境与代码动态变形技术ppt课件》由会员分享,可在线阅读,更多相关《计算机虚拟机虚拟环境与代码动态变形技术ppt课件(33页珍藏版)》请在金锄头文库上搜索。

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

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

3、之前要做的事情切换堆栈保存当前运行上下文10x86x86虚拟机保护的构建虚拟机保护的构建异常的模拟内存访问权限不足未知指令11指令扩展保护指令扩展保护源于扭曲加密变换直接作用于PE文件指令模板化重定位的修复12指令扩展保护指令扩展保护指令模板化指令扩展保护指令扩展保护例如一条指令addeax,1我们可以将它转化为callADD_EAX_1JmpADD_EAX_1_END;这里为垃圾代码ADD_EAX_1:pushebpmovebp,espsubesp,0x08pushebxmovdwordptrebp-0x04,5movebx,4subdwordptrebp-0x04,ebxaddeax,dw

4、ordptrebp-0x04movesp,ebppopebpRetADD_EAX_1_END:14指令扩展保护指令扩展保护重定位修复遍历代码,找出所有的跳转指令随机的插入代码重新遍历代码,找出所有的跳转指令通过第一次找出的偏移进行新偏移的修订15第三方虚拟机第三方虚拟机最早可以在某些crackme中见到,用于保护算法指令编码的设计汇编器的设计调试器的设计16第三方虚拟机第三方虚拟机壳的虚拟化壳的重要部分,IAT表修复,加解密运算,反调试模块使用新的汇编语言进行编写17第三方虚拟机第三方虚拟机用户的自定义功能扩展编写反调试模块增加类似真实指令的伪指令区块18第三方虚拟机第三方虚拟机19第三方虚拟

5、机第三方虚拟机x86代码-虚拟机BYTECODE20虚拟机保护可能出现的虚拟机保护可能出现的BUGBUG外部函数动态跳转引发的状况从外部函数直接跳入到被保护的函数中,而不是头地址跳转是一个动态跳转,无法修复moveax,BaseAddressaddeax,Offsetjmpeax21代码乱序代码乱序增加逆向的难度让壳重新获得程序的控制权22代码乱序代码乱序23代码替换代码替换将要保护的代码替换为花指令,将被保护的代码放置到新的内存内。在执行被保护的代码时跳转到新的内存。24代码替换代码替换找到两个JMP/CALL/JCC之间的代码段并记录到结构遍历这个结构,把要替换的代码段搬运到新的空间,在新

6、的空间末尾添加一个跳入原先代码段结束的地址将原先的代码块的首5个字节添加一个JMP跳入到搬运后的地址。并填充同样长度的花指令将这个代码块除了首5个字节其余字节以花指令填充25偏移的修复偏移的修复设:目标地址为y,从JMP或者CALL后取出的偏移为x,JMP或者CALL的指令长度为I,当前地址为C。第一个公式y=C+x+I第二个公式y=C-(x)+1)-I)26花指令的产生器的构建花指令的产生器的构建根据随机率产生随机的花指令根据要产生的长度随机产生花指令27花指令的产生器的构建花指令的产生器的构建28花指令的产生器的构建花指令的产生器的构建29动态壳布局动态壳布局30参考资料参考资料看雪论坛关于VMP逆向的所有资料扭曲加密变化(刘涛涛)31感谢感谢看雪论坛SSCON会务组32问题问题?33

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号