c++反汇编与逆向分析技术揭秘是一本C++反汇编与逆向分析技术学习书籍,由钱林松和赵海旭两人共同编著。本书是一本能为程序员(尤其是C++程序员)打牢基础的专业书籍,它将引导你一步一步去深入探究和分析程序的本质,从而逐渐让你在专业上感到踏实和自信,并在这个领域有豁然开朗的感觉。全书从介绍调试工具开始,到语言特性的分析,反汇编代码的重建等,再到逆向分析技术应用,内容逐步深入,可以帮助读者逐步培养分析和推理能力,非常适合那些想通过反汇编与逆向分析等技术手段探究C++应用底层奥秘的人们来下载阅读。
《C++反汇编与逆向分析技术揭秘》共分为三大部分:第一部分主要介绍了VC++6.0、OllyDBG和反汇编静态分析工具的使用,以及反汇编引擎的工作原理;第二部分以C/C++语法为导向,以VC++6.0为例,深入解析了每个C/C++知识点的汇编表现形式,包括基本数据类型、表达式、流程控制语句、函数、变量、数组、指针、结构体、类、构造函数、析构函数、虚函数、继承和多重继承、异常处理等,这部分内容重在修炼“内功”,不仅讲解了调试和识别各种C/C++语句的方法,而且还深入剖析了各知识点的底层机制;第三部分是逆向分析技术的实际应用,通过对PEiD、“熊猫烧香”病毒、OllyDBG调试器等的逆向分析将理论和实践很好地融合在了一起。
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读试读
收起介绍展开介绍
内容介绍
《C++反汇编与逆向分析技术揭秘》既是一本全面而系统地讲解反汇编与逆向分析技术的安全类专著,又是一部深刻揭示C++内部工作机制的程序设计类著作。理论与实践并重,理论部分系统地讲解了C++的各种语法特性和元素的逆向分析方法和流程,重在授人以渔;实践部分通过几个经典的案例演示了逆向分析技术的具体实施步骤和方法。《C++反汇编与逆向分析技术揭秘》共分为三大部分:第一部分主要介绍了VC++6.0、OllyDBG和反汇编静态分析工具的使用,以及反汇编引擎的工作原理;第二部分以C/C++语法为导向,以VC++6.0为例,深入解析了每个C/C++知识点的汇编表现形式,包括基本数据类型、表达式、流程控制语句、函数、变量、数组、指针、结构体、类、构造函数、析构函数、虚函数、继承和多重继承、异常处理等,这部分内容重在修炼“内功”,不仅讲解了调试和识别各种C/C++语句的方法,而且还深入剖析了各知识点的底层机制;第三部分是逆向分析技术的实际应用,通过对PEiD、“熊猫烧香”病毒、OllyDBG调试器等的逆向分析将理论和实践很好地融合在了一起。
章节目录
前言 第一部分 准备工作 第1章 熟悉工作环境和相关工具 1.1 调试工具Microsoft Visual C++ 6.0和OllyDBG 1.2 反汇编静态分析工具IDA 1.3 反汇编引擎的工作原理 1.4 本章小结 第二部分 C++反汇编揭秘 第2章 基本数据类型的表现形式 2.1 整数类型 2.1.1 无符号整数 2.1.2 有符号整数 2.2 浮点数类型 2.2.1 浮点数的编码方式 2.2.2 基本的浮点数指令 2.3 字符和字符串 2.3.1 字符的编码 2.3.2 字符串的存储方式 2.4 布尔类型 2.5 地址、指针和引用 2.5.1 指针和地址的区别 2.5.2 各类型指针的工作方式 2.5.3 引用 2.6 常量 2.6.1 常量的定义 2.6.2 #define和const的区别 2.7 本章小结 第3章 认识启动函数,找到用户入口 3.1 程序的真正入口 3.2 了解VC++ 6.0的启动函数 3.3 main函数的识别 3.4 本章小结 第4章 观察各种表达式的求值过程 4.1 算术运算和赋值 4.1.1 各种算术运算的工作形式 4.1.2 算术结果溢出 4.1.3 自增和自减 4.2 关系运算和逻辑运算 4.2.1 关系运算和条件跳转的对应 4.2.2 表达式短路 4.2.3 条件表达式 4.3 位运算 4.4 编译器使用的优化技巧 4.4.1 流水线优化规则 4.4.2 分支优化规则 4.4.3 高速缓存(cache)优化规则 4.5 一次算法逆向之旅 4.6 本章小结 第5章 流程控制语句的识别 5.1 if语句 5.2 if…else…语句 5.3 用if构成的多分支流程 5.4 switch的真相 5.5 难以构成跳转表的switch 5.6 降低判定树的高度 5.7 dowhilefor的比较 5.8 编译器对循环结构的优化 5.9 本章小结 第6章 函数的工作原理 6.1 栈帧的形成和关闭 6.2 各种调用方式的考察 6.3 使用ebp或esp寻址 6.4 函数的参数 6.5 函数的返回值 6.6 回顾 6.7 本章小结 第7章 变量在内存中的位置和访问方式 7.1 全局变量和局部变量的区别 7.2 局部静态变量的工作方式 7.3 堆变量 7.4 本章小结 第8章 数组和指针的寻址 8.1 数组在函数内 8.2 数组作为参数 8.3 数组作为返回值 8.4 下标寻址和指针寻址 8.5 多维数组 8.6 存放指针类型数据的数组 8.7 指向数组的指针变量 8.8 函数指针 8.9 本章小结 第9章 结构体和类 9.1 对象的内存布局 9.2 this指针 9.3 静态数据成员 9.4 对象作为函数参数 9.5 对象作为返回值 9.6 本章小结 第10章 关于构造函数和析构函数 10.1 构造函数的出现时机 10.2 每个对象都有默认的构造函数吗 10.3 析构函数的出现时机 10.4 本章小结 第11章 关于虚函数 11.1 虚函数的机制 11.2 虚函数的识别 11.3 本章小结 第12章 从内存角度看继承和多重继承 12.1 识别类和类之间的关系 12.2 多重继承 12.3 虚基类 12.4 菱形继承 12.5 本章小结 第13章 异常处理 13.1 异常处理的相关知识 13.2 异常类型为基本数据类型的处理流程 13.3 异常类型为对象的处理流程 13.4 识别异常处理 13.5 本章小结 第三部分 逆向分析技术应用 第14章 PEiD的工作原理分析 14.1 开发环境的识别 14.2 开发环境的伪造 14.3 本章小结 第15章 “熊猫烧香”病毒逆向分析 15.1 调试环境配置 15.2 病毒程序初步分析 15.3 “熊猫烧香”的启动过程分析 15.4 “熊猫烧香”的自我保护分析 15.5 “熊猫烧香”的感染过程分析 15.6 本章小结 第16章 调试器OllyDBG的工作原理分析 16.1 INT3断点 16.2 内存断点 16.3 硬件断点 16.4 异常处理机制 16.5 加载调试程序 16.6 本章小结 第17章 反汇编代码的重建与编译 17.1 重建反汇编代码 17.2 编译重建后的反汇编代码 17.3 本章小结 参考文献
使用说明
1、下载并解压,得出pdf文件2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读试读
发表评论
0条评论软件排行榜
热门推荐
- 有柿电脑版 v11.5.784.12M / 简体中文
- 得间免费小说电脑版 v5.2.8.172.96M / 简体中文
- 网易新闻电脑版 v112.697.63M / 简体中文
- 数据挖掘导论 官方版61.61M / 简体中文
- 吉利博瑞用户手册 pdf高清版57.89M / 简体中文
- cnki全球学术快报电脑版 v0.2.3495.79M / 简体中文
- PHP语言精粹电子书 pdf扫描版25.72M / 简体中文
- linux常用命令大全 chm版1.48M / 简体中文
- Scala程序设计第二版 pdf高清完整版15.83M / 简体中文
- C++黑客编程揭秘与防范第2版 冀云pdf扫描版54.58M / 简体中文