这书是《C 黑客编程揭秘与防范》的姊妹篇,这书一样是协助无基本的用户可以迅速新手入门反向小工具应用的书藉,它填补了《C 黑客编程揭秘与防范》中沒有详细介绍反向小工具的不够。 这书将使初用户能够迅速把握OD、IDA等常见流行反向小工具的应用,并掌握和了解反向小工具的原理,为之后加强学习反向专业知识拿下优良的基本。
这书的主题思想为:统计数据的储存及表达方式、汇编语言入门、了解调节小工具OllyDbg、PE小工具详细说明、PE格式文件案例(包含加壳与脱壳工具的应用)、十六进制编与反编译工具、IDA与反向、反向小工具基本原理保持等。 这书能够做为程序猿、安全生产技术的科学研究工作人员、安全性技术爱好者阅读文章。
目录
- 第 1章 数据的存储及表示形式 1
- 1.1 进制及进制的转换 1
- 1.1.1 现实生活中的进制与计算机的二进制 1
- 1.1.2 进制的定义 2
- 1.1.3 进制的转换 2
- 1.2 数据宽度、字节序和ASCII码 4
- 1.2.1 数据的宽度 4
- 1.2.2 数值的表示范围 4
- 1.2.3 字节序 5
- 1.2.4 ASCII码 6
- 1.3 在OD中查看数据 6
- 1.4 编程判断主机字符序 11
- 1.4.1 字节序相关函数 11
- 1.4.2 编程判断主机字节序 11
- 1.5 总结 13
- 第 2章 汇编语言入门 14
- 2.1 x86汇编语言介绍 14
- 2.1.1 寄存器 15
- 2.1.2 在OD中认识寄存器 19
- 2.2 常用汇编指令集 20
- 2.2.1 指令介绍 20
- 2.2.2 常用指令介绍 21
- 2.3 寻址方式 36
- 2.4 总结 37
- 第3章 熟悉调试工具OllyDbg 39
- 3.1 认识OD调试环境 39
- 3.1.1 启动调试 39
- 3.1.2 熟悉OD窗口 42
- 3.2 OD中的断点及跟踪功能 46
- 3.2.1 OD中设置断点的方法 47
- 3.2.2 OD中跟踪代码的介绍 52
- 3.3 OD中的查找功能和编辑功能 53
- 3.3.1 OD的搜索功能 53
- 3.3.2 OD修改的编辑功能 55
- 3.4 OD中的插件功能 56
- 3.4.1 OD常用插件介绍 56
- 3.4.2 OD插件脚本编写 58
- 3.4.3 OD插件的开发 59
- 3.5 总结 63
- 第4章 PE工具详解 64
- 4.1 常用PE工具介绍 64
- 4.1.1 PE工具 64
- 4.1.2 Stud_PE介绍 65
- 4.1.3 PEiD介绍 66
- 4.1.4 LordPE介绍 66
- 4.2 PE文件格式详解 67
- 4.2.1 PE文件结构全貌介绍 68
- 4.2.2 详解PE文件结构 70
- 4.2.3 PE结构的三种地址 84
- 4.3 数据目录相关结构详解 90
- 4.3.1 导入表 91
- 4.3.2 导出表 104
- 4.3.3 重定位表 110
- 4.4 总结 118
- 第5章 PE文件格式实例 119
- 5.1 手写PE文件 119
- 5.1.1 手写PE文件的准备工作 119
- 5.1.2 用十六进制字节完成PE文件 120
- 5.2 手工对PE文件进行减肥 132
- 5.2.1 修改压缩节区 132
- 5.2.2 节表合并 135
- 5.2.3 结构重叠 140
- 5.2.4 小结 148
- 5.3 PE结构相关工具 148
- 5.3.1 增加节区 148
- 5.3.2 资源编辑 149
- 5.4 加壳与脱壳工具的使用 154
- 5.4.1 什么是壳 154
- 5.4.2 简单壳的原理 155
- 5.4.3 加壳工具与脱壳工具的使用 166
- 5.5 PE32 简介 180
- 5.5.1 文件头 180
- 5.5.2 可选头 181
- 5.6 总结 182
- 第6章 十六进制编辑器与反编译工具 183
- 6.1 C32Asm 183
- 6.1.1 文件的打开方式 183
- 6.1.2 反汇编模式 185
- 6.1.3 十六进制模式 189
- 6.2 WinHex 193
- 6.2.1 内存搜索功能 194
- 6.2.2 使用模板解析数据 196
- 6.2.3 完成一个简单的模板 198
- 6.3 其他十六进制编辑器 200
- 6.3.1 UltraEdit简介 200
- 6.3.2 010Editor简介 201
- 6.4 反编译工具介绍 202
- 6.4.1 DeDe反编译工具 202
- 6.4.2 VB反编译工具 206
- 6.4.3 .NET反编译工具 208
- 6.4.4 Java反编译工具 211
- 6.5 总结 211
- 第7章 IDA与逆向 213
- 7.1 IDA工具介绍 213
- 7.1.1 IDA的启动与关闭 213
- 7.1.2 IDA常用界面介绍 216
- 7.1.3 IDA的脚本功能 228
- 7.2 C语言代码逆向基础 231
- 7.2.1 函数的识别 232
- 7.2.2 if…else…结构分析 242
- 7.2.3 switch结构分析 244
- 7.2.4 循环结构分析 247
- 7.3 总结 252
- 第8章 逆向工具原理实现 253
- 8.1 PE工具的开发 253
- 8.1.1 GetProcAddress函数的使用 253
- 8.1.2 GetProcAddress函数的实现 254
- 8.2 调试工具的开发 238
- 8.2.1 常见的三种断点 259
- 8.2.2 调试API函数及相关结构体介绍 262
- 8.2.3 打造一个密码显示器 273
- 8.3 总结 277
- 参考文献 278