《有趣的二进制(软件安全与逆向分析)/图灵程序设计丛书》((日)爱甲健二|译者:周自恒)-图书推荐

编辑推荐语

如何防止软件被别人分析?如何知道软件在运行时都干了什么?如何防止攻击者利用漏洞夺取系统权限?翻开爱甲健二编著的这本《有趣的二进制(软件安全与逆向分析)》,打开黑箱,感受底层世界的乐趣。这是一本讲“底层”知识的书。(底层到底指的神秘呢?“二进制”就是现代计算机的 层。)

内容提要

爱甲健二编著的《有趣的二进制(软件安全与逆向分析)》通过逆向工程,揭开人们熟知的软件背后的机器语言的秘密,并教给读者读懂这些二进制代码的方法。理解了这些方法,技术人员就能有效地Debug,防止软件受到恶意攻击和反编译。本书涵盖的技术包括:汇编与反汇编、调试与反调试、缓冲区溢出攻击与底层安全、钩子与注入、Metasploit等安全工具。本书适合对计算机原理、底层或计算机安全感兴趣的读者阅读。

目录

第1章 通过逆向工程学习如何读懂二进制代码
1.1 先来实际体验一下软件分析吧
1.1.1 通过Process Monitor的日志来确认程序的行为
1.1.2 从注册表访问中能发现些什么
1.1.3 什么是逆向工程
专栏:逆向工程技术大赛
1.2 尝试静态分析
1.2.1 静态分析与动态分析
专栏:Stirling与BZ Editor的区别
1.2.2 用二进制编辑器查看文件内容
1.2.3 看不懂汇编语言也可以进行分析
1.2.4 在没有源代码的情况下搞清楚程序的行为
1.2.5 确认程序的源代码
1.3 尝试动态分析
1.3.1 设置Process Monitor的过滤规则
1.3.2 调试器是干什么用的
1.3.3 用OllyDbg洞察程序的详细逻辑
1.3.4 对反汇编代码进行分析
专栏:什么是寄存器
1.3.5 将分析结果与源代码进行比较
专栏:选择自己喜欢的调试器
1.4 学习*基础的汇编指令
1.4.1 没必要记住所有的汇编指令
1.4.2 汇编语言是如何实现条件分支的
1.4.3 参数存放在栈中
1.4.4 从汇编代码联想到C语言源代码
1.5 通过汇编指令洞察程序行为
1.5.1 给函数设置断点
1.5.2 反汇编并观察重要逻辑
专栏:学习编写汇编代码
第2章 在射击游戏中防止玩家作弊
2.1 解读内存转储
2.1.1 射击游戏的规则
2.1.2 修改4个字节就能得高分
2.1.3 获取内存转储
2.1.4 从进程异常终止瞬间的状态查找崩溃的原因
2.1.5 有效运用实时调试
2.1.6 通过转储文件寻找出错原因
……
第3章 利用软件的漏洞进行攻击
第4章 自由控制程序运行方式的编程技巧
第5章 使用工具探索 广阔的世界
附录
兔耳旋风
参考文献
后记

卖贝商城 推荐:《有趣的二进制(软件安全与逆向分析)/图灵程序设计丛书》((日)爱甲健二|译者:周自恒)