作品简介

《代码虚拟与自动化分析》主要分成3个部分讨论代码虚拟和自动化分析技术。第1部分主要讨论代码虚拟化技术的各种实现方法,并通过一些现有的代码虚拟化技术应用案例引领读者了解代码虚拟化的技术基础。第2部分主要介绍和讨论代码自动化分析技术,也就是对在第1部分中介绍的代码虚拟化技术进行讨论,利用虚拟化技术自身进行自动化分析,通过实际的代码将自动化分析技术从理论变为实际的程序,提升读者对自动化分析技术的理解和运用水平。第3部分使用自动化分析技术全面分析Winlicense和VMProtect保护系统,展示自动化分析技术,并通过实际的分析过程带领读者深入体会代码虚拟化技术。

《代码虚拟与自动化分析》适合信息安全领域相关人员、高校相关专业学生及爱好者阅读。

章立春,看雪ID netsowell,多年来一直从事软件和网络安全相关问题研究,擅长软件逆向分析、系统级编程、虚拟化技术及各类工具的开发等。

作品目录

  • 作者简介
  • 前言
  • 第1部分 实现原理
  • 第1章 代码虚拟化原理
  • 1.1 代码虚拟机运行时框架
  • 1.2 代码虚拟机非运行时部件
  • 1.3 本章小结
  • 第2章 模拟虚拟化
  • 2.1 Bochs简单分析
  • 2.2 模拟虚拟化特征
  • 2.3 实现模拟虚拟化样机
  • 2.4 本章小结
  • 第3章 自动化分析原理
  • 3.1 代码等价替换
  • 3.2 垃圾指令生成
  • 3.3 代码乱序
  • 3.4 多分支跳转
  • 3.5 自动化分析基础
  • 第4章 花型替换分析
  • 4.1 定义花型
  • 4.2 匹配花型
  • 4.3 实施花型替换
  • 4.4 打造花型替换机
  • 第2部分 技术分析
  • 第5章 打造自动化分析工具
  • 5.1 功能制定
  • 5.2 确定技术方案
  • 5.3 开发筹备
  • 5.4 具体实现
  • 5.5 效果演示
  • 第6章 代码虚拟机结构分析
  • 6.1 虚拟机类型鉴别
  • 6.2 OP分支跳转
  • 6.3 OP分支探测
  • 6.4 虚拟机栈
  • 6.5 虚拟机Context
  • 6.6 OPCODE编码
  • 6.7 虚拟机出口
  • 6.8 本章小结
  • 第7章 OP分支功能性分析
  • 7.1 统计分析法
  • 7.2 栈平衡简化分析法
  • 7.3 不精确花型替换分析法
  • 7.4 内存状态着色分析法
  • 7.5 内存访问定位分析法
  • 7.6 本章小结
  • 第8章 对比测试分析
  • 8.1 一般代码对比分析法
  • 8.2 OP分支执行对比分析法
  • 8.3 内存访问记录对比分析法
  • 8.4 严格现场对比分析法
  • 8.5 本章小结
  • 第9章 实时监控分析
  • 9.1 一般代码实时监控分析法
  • 9.2 Context实时监控分析法
  • 9.3 内存状态实时同步监控分析法
  • 9.4 块执行实时监控分析法
  • 9.5 本章小结
  • 第10章 OP实时调试分析
  • 10.1 虚拟OP实时调试
  • 10.2 直接OP实时调试
  • 10.3 OP实时调试演示
  • 10.4 本章小结
  • 第3部分 实例分析
  • 第11章 Winlicense 2.3.2分析
  • 11.1 加密流程分析
  • 11.2 Winlicense加密技术
  • 11.3 代码变形分析
  • 11.4 代码虚拟机分析
  • 11.5 OPCODE补丁
  • 11.6 代码还原
  • 11.7 本章小结
  • 第12章 VMProtect分析
  • 12.1 代码变形分析
  • 12.2 OP分支DNA
  • 12.3 OPCODE补丁
  • 12.4 代码还原
  • 12.5 本章小结
  • 第13章 xVMDebug插件
  • 13.1 xVMDebug介绍
  • 13.2 运行环境
  • 13.3 文件结构
  • 13.4 插件安装
  • 13.5 主要功能简介
  • 13.6 操作说明
展开全部