![图灵程序设计丛书 有趣的二进制 软件安全与逆向分析](https://cover.qianqiantushu.cc/96/s6923ac5.jpg)
![图灵程序设计丛书 有趣的二进制 软件安全与逆向分析](https://cover.qianqiantushu.cc/96/s6923ac5.jpg)
图灵程序设计丛书 有趣的二进制 软件安全与逆向分析PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:(日)爱甲健二著;周自恒译
- 出 版 社:北京:人民邮电出版社
- 出版年份:2015
- ISBN:9787115403995
- 页数:256 页
第1章 通过逆向工程学习如何读懂二进制代码 1
1.1先来实际体验一下软件分析吧 3
1.1.1通过Process Monitor的日志来确认程序的行为 4
1.1.2从注册表访问中能发现些什么 6
1.1.3什么是逆向工程 9
专栏:逆向工程技术大赛 10
1.2尝试静态分析 11
1.2.1静态分析与动态分析 11
专栏:Stirling与BZ Editor的区别 12
1.2.2用二进制编辑器查看文件内容 13
1.2.3看不懂汇编语言也可以进行分析 14
1.2.4在没有源代码的情况下搞清楚程序的行为 16
1.2.5确认程序的源代码 18
1.3尝试动态分析 20
1.3.1设置Process Monitor的过滤规则 20
1.3.2调试器是干什么用的 23
1.3.3用OIIyDbg洞察程序的详细逻辑 24
1.3.4对反汇编代码进行分析 26
专栏:什么是寄存器 28
1.3.5将分析结果与源代码进行比较 29
专栏:选择自己喜欢的调试器 30
1.4学习最基础的汇编指令 32
1.4.1没必要记住所有的汇编指令 32
1.4.2汇编语言是如何实现条件分支的 33
1.4.3参数存放在栈中 35
1.4.4从汇编代码联想到C语言源代码 37
1.5通过汇编指令洞察程序行为 40
1.5.1给函数设置断点 40
1.5.2反汇编并观察重要逻辑 42
专栏:学习编写汇编代码 47
第2章 在射击游戏中防止玩家作弊 51
2.1解读内存转储 53
2.1.1射击游戏的规则 53
2.1.2修改4个字节就能得高分 54
2.1.3获取内存转储 58
2.1.4从进程异常终止瞬间的状态查找崩溃的原因 63
2.1.5有效运用实时调试 66
2.1.6通过转储文件寻找出错原因 68
专栏:除了个人电脑,在其他计算机设备上运行的程序也可以进行分析吗 74
专栏:分析Java编写的应用程序 74
2.2如何防止软件被别人分析 76
2.2.1反调试技术 76
专栏:检测调试器的各种方法 77
2.2.2通过代码混淆来防止分析 79
专栏:代码混淆的相关话题 80
2.2.3将可执行文件进行压缩 81
2.2.4将压缩过的可执行文件解压缩:解包 86
2.2.5通过手动解包UPX来理解其工作原理 87
2.2.6用硬件断点对ASPack进行解包 91
专栏:如何分析.NET编写的应用程序 95
第3章 利用软件的漏洞进行攻击 97
3.1利用缓冲区溢出来执行任意代码 99
3.1.1引发缓冲区溢出的示例程序 99
3.1.2让普通用户用管理员权限运行程序 100
3.1.3权限是如何被夺取的 102
3.1.4栈是如何使用内存空间的 104
3.1.5攻击者如何执行任意代码 107
3.1.6用gdb查看程序运行时的情况 110
3.1.7攻击代码示例 113
3.1.8生成可用作shellcode的机器语言代码 116
3.1.9对0x00的改进 121
专栏:printf类函数的字符串格式化bug 125
3.2防御攻击的技术 127
3.2.1地址随机化:AS LR 127
3.2.2除存放可执行代码的内存空间以外,对其余内存空间尽量禁用执行权限:Exec-Shield 130
3.2.3在编译时插入检测栈数据完整性的代码:StackGuard 131
3.3绕开安全机制的技术 134
3.3.1使用libc中的函数来进行攻击:Return-into-libc 134
3.3.2利用未随机化的模块内部的汇编代码进行攻击:ROP 136
专栏:计算机安全为什么会变成猫鼠游戏 137
第4章 自由控制程序运行方式的编程技巧 139
4.1通过自制调试器来理解其原理 141
4.1.1亲手做一个简单的调试器,在实践中学习 141
4.1.2调试器到底是怎样工作的 141
4.1.3实现反汇编功能 147
4.1.4运行改良版调试器 153
4.2在其他进程中运行任意代码:代码注入 155
4.2.1向其他进程注入代码 155
4.2.2用SetWindowsHookEx劫持系统消息 155
4.2.3将DLL路径配置到注册表的Applnit DLLs项 162
4.2.4通过CreateRemoteThread在其他进程中创建线程 165
4.2.5注入函数 170
4.3任意替换程序逻辑:API钩子 174
4.3.1 API钩子的两种类型 174
4.3.2用Detours实现一个简单的API钩子 174
4.3.3修改消息框的标题栏 177
专栏:DLL注入和API钩子是“黑客”技术的代表? 178
第5章 使用工具探索更广阔的世界 179
5.1用Metasploit Framework验证和调查漏洞 181
5.1.1什么是Metasploit Framework 181
5.1.2安全漏洞的信息从何而来 181
5.1.3搭建用于测试漏洞的环境 182
5.1.4利用漏洞进行攻击 183
专栏:深入探索shellcode 184
5.1.5一个ROP的实际例子 188
5.2用EMET观察反ROP的机制 192
5.2.1什么是EMET 192
5.2.2 Anti-ROP的设计获得了蓝帽奖 192
5.2.3如何防止攻击 193
5.2.4搞清楚加载器的逻辑 194
5.2.5 DLL的程序逻辑 196
5.2.6 CALL-RETN检查 197
5.2.7如何防止误判 200
5.2.8检查栈的合法性 201
5.3用REMnux分析恶意软件 205
5.3.1什么是REMnux 205
5.3.2更新特征数据库 206
5.3.3扫描目录 206
5.4用CIamAV检测恶意软件和漏洞攻击 208
5.4.1 CIamAV的特征文件 208
5.4.2解压缩.cvd文件 209
5.4.3被检测到的文件详细信息 210
5.4.4检测所使用的打包器以及疑似恶意软件的文件 211
5.5用Zero Wine Tryouts分析恶意软件 212
5.5.1 REMnux与Zero Wine Tryouts的区别 212
5.5.2运行机制 212
5.5.3显示用户界面 213
5.5.4确认分析报告 214
专栏:尝试开发自己的工具 217
5.6尽量减少人工分析:启发式技术 218
5.6.1恶意软件应对极限的到来:平均每天60000个 218
5.6.2启发式技术革命 218
5.6.3用两个恶意软件进行测试 220
附录 223
A.1安装IDA 224
A.2安装OIIyDbg 229
A.3安装WinDbg 230
A.4安装Visual Studio 2010 235
A.5安装Metasploit 240
A.6分析工具 248
Stirling/BZ Editor 248
Process Monitor 249
Process Explorer 250
Sysinternals工具 250
兔耳旋风 251
参考文献 252
后记 254
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《新编历史小丛书 祖逖北伐》何兹全著 2019
- 《国际经典影像诊断学丛书 消化影像诊断学 原著第3版》王振常,蒋涛,李宏军,杨正汉译;(美)迈克尔·P.费德勒 2019
- 《计算机辅助平面设计》吴轶博主编 2019
- 《本草古籍辑注丛书 第1辑 《食疗本草》辑校》(唐)孟诜撰;(唐)张鼎增补;尚志钧辑校 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019