注册 登录 进入教材巡展
#

出版时间:2014年5月

出版社:人民邮电

以下为《图灵程序设计丛书 逆向工程核心原理》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 人民邮电
  • 9787115350183
  • 50250
  • 2014年5月
  • 未分类
  • 未分类
  • TP311.5
内容简介

  《逆向工程核心原理》十分详尽地介绍了代码逆向分析的核心原理。作者李承远在Ahnlab 研究所工作多年,书中不仅包括其以此经验为基础亲自编写的大量代码,还包含了逆向工程研究人员必须了解的各种技术和技巧。彻底理解并切实掌握逆向工程这门技术,就能在众多IT相关领域进行拓展运用,这本《逆向工程核心原理》就是通向逆向工程大门的捷径。


  想成为逆向工程研究员的读者或正在从事逆向开发工作的开发人员一定会通过《逆向工程核心原理》获得很大帮助。同时,想成为安全领域专家的人也可从《逆向工程核心原理》轻松起步。

目录

第一部分 代码逆向技术基础


第1章 关于逆向工程


 1.1 逆向工程


 1.2 代码逆向工程


  1.2.1 逆向分析法


  1.2.2 源代码、十六进制代码、汇编代码


  1.2.3 “打补丁”与“破解”


 1.3 代码逆向准备


  1.3.1 目标


  1.3.2 激情


  1.3.3 谷歌


 1.4 学习逆向分析技术的禁忌


  1.4.1 贪心


  1.4.2 急躁


 1.5 逆向分析技术的乐趣


第2章 逆向分析Hello World!程序


 2.1 Hello World!程序


 2.2 调试HelloWorld.exe程序


  2.2.1 调试目标


  2.2.2 开始调试


  2.2.3 入口点


  2.2.4 跟踪40270C函数


  2.2.5 跟踪40104F跳转语句


  2.2.6 查找main()函数


 2.3 进一步熟悉调试器


  2.3.1 调试器指令


  2.3.2 “大本营”


  2.3.3 设置“大本营”的四种方法


 2.4 快速查找指定代码的四种方法


  2.4.1 代码执行法


  2.4.2 字符串检索法


  2.4.3 API检索法(1):在调用代码中设置断点


  2.4.4 API检索法(2):在API代码中设置断点


 2.5 使用“打补丁”方式修改“Hello World!”字符串


  2.5.1 “打补丁”


  2.5.2 修改字符串的两种方法


 2.6 小结


第3章 小端序标记法


 3.1 字节序


  3.1.1 大端序与小端序


  3.1.2 在OllyDbg中查看小端序


第4章 IA-32寄存器基本讲解


 4.1 什么是CPU寄存器


 4.2 IA-32寄存器


 4.3 小结


第5章 栈


 5.1 栈


  5.1.1 栈的特征


  5.1.2 栈操作示例


第6章 分析abex'crackme#1


 6.1 abex'crackme #1


  6.1.1 开始调试


  6.1.2 分析代码


 6.2 破解


 6.3 将参数压入栈


 6.4 小结


第7章 栈帧


 7.1 栈帧


 7.2 调试示例:stackframe.exe


  7.2.1 StackFrame.cpp


  7.2.2 开始执行main()函数&生成栈帧


  7.2.3 设置局部变量


  7.2.4 add()函数参数传递与调用


  7.2.5 开始执行add()函数&生成栈帧


  7.2.6 设置add()函数的局部变量(x, y)


  7.2.7 ADD运算


  7.2.8 删除函数add()的栈帧&函数执行完毕(返回)


  7.2.9 从栈中删除函数add()的参数(整理栈)


  7.2.10 调用printf()函数


  7.2.11 设置返回值


  7.2.12 删除栈帧&main()函数终止


 7.3 设置OllyDbg选项


  7.3.1 Disasm选项


  7.3.2 Analysis1选项


 7.4 小结


第8章 abex'crackme #2


 8.1 运行abex'crackme #2


 8.2 Visual Basic文件的特征


  8.2.1 VB专用引擎


  8.2.2 本地代码和伪代码


  8.2.3 事件处理程序


  8.2.4 未文档化的结构体


 8.3 开始调试


  8.3.1 间接调用


  8.3.2 RT_MainStruct结构体


  8.3.3 ThunRTMain()函数


 8.4 分析crackme


  8.4.1 检索字符串


  8.4.2 查找字符串地址


  8.4.3 生成Serial的算法


  8.4.4 预测代码


  8.4.5 读取Name字符串的代码


  8.4.6 加密循环


  8.4.7 加密方法


 8.5 小结


 ……


第9章 Process Explorer——最优秀的进程管理工具


第10章 函数调用约定


第11章 视频讲座


第12章 究竟应当如何学习代码逆向分析


第二部分 PE文件格式


第13章 PE文件格式


第14章 运行时压缩


第15章 调试UPX压缩的notepad程序


第16章 基址重定位表


第17章 从可执行文件中删除.reloc节区


第18章 UPack PE文件头详细分析


第19章 UPack调试-查找OEP


第20章 “内嵌补丁”练习


第三部分 DLL注入


第21章 Windows消息钩取


第22章 恶意键盘记录器


第23章 DLL注入


第24章 DLL卸载


第25章 通过修改PE加载DLL


第26章 PE Tools


第27章 代码注入


第28章 使用汇编语言编写注入代码


第四部分 API钩取


第29章 API钩取:逆向分析之“花”


第30章 记事本WriteFile() API钩取) 300


第31章 关于调试器


第32章 计算器显示中文数字


第33章 隐藏进程


第34章 高级全局API钩取:IE连接控制


第35章 优秀分析工具的五种标准


第五部分 64位&Windows内核6


第36章 64位计算


第37章 x64处理器


第38章 PE32+


第39章 WinDbg


第40章 64位调试


第41章 ASLR


第42章 内核6中的会话


第43章 内核6中的DLL注入


第44章 InjDll.exe:DLL注入专用工具


第六部分 高级逆向分析技术


第45章 TLS回调函数


第46章 TEB


第47章 PEB


第48章 SEH


第49章 IA-32指令


第七部分 反调试技术


第50章 反调试技术


第51章 静态反调试技术


第52章 动态反调试技术


第53章 高级反调试技术


第八部分 调试练习


第54章 调试练习1:服务


第55章 调试练习2:自我创建


第56章 调试练习3:PE映像切换


第57章 调试练习4:Debug Blocker


结束语


索引