





定价:65元
印次:1-1
ISBN:9787302681007
出版日期:2025.02.01
印刷日期:2025.01.21
图书责编:张民
图书分类:教材
"汇编语言是一种面向机器的底层编程语言。本书将计算机汇编语言与软件逆向分析技术交叉融合,从汇编语言的角度介绍处理器、操作系统和应用软件的底层设计,通过逆向分析技术进一步理解系统和程序的底层运行机制,以软件知识产权保护场景的案例分析展示汇编语言与逆向技术在信息安全领域的重要性。本书介绍了目前普遍使用的Intel IA32处理器及其使用的x86汇编语言,也介绍了华为鲲鹏处理器及其使用的功能更强大的ARM汇编语言。逆向技术部分,本书使用了更加先进且免费的Binary Ninja静态逆向分析平台和x64dbg动态逆向分析平台。 本书主要面向高校信息安全、网络空间安全等相关专业的师生和从事信息安全工作的技术人员。通过学习,读者可以更深入地了解计算机处理器和操作系统,理解高级语言编程的底层实现,进一步掌握静态和动态的二进制代码逆向分析方法,从案例分析中认识到汇编语言和逆向技术对于软件知识产权保护的重要性,为进一步学习“软件漏洞挖掘”“计算机病毒分析”等信息安全课程打下坚实的基础。 "
王志,南开大学网络空间安全学院,副教授,博士生导师。研究兴趣为计算机病毒的分析与防治、二进制代码逆向分析。2005至2007年Fortinet反病毒实验室病毒分析工程师,2012年南开大学博士毕业,2013至2015年伦敦大学皇家霍洛威信息安全实验室博士后。主持国家自然科学基金2项、天津市自然科学基金2项,发表科研论文40多篇,申请国家发明专利18项,指导学生获得全国大学生信息安全竞赛一等奖2项。
前言 不同于C++、Java等高级编程语言,汇编语言是直接面向计算机处理器和内存的低级编程语言。汇编语言本质上是机器指令的助记符语言,汇编语句与二进制指令有一对一的映射关系。汇编语言的编程效率远远低于高级编程语言,主要应用于信息安全领域的逆向分析,是信息安全专业学生的必修课程。在真实的网络攻防场景中,面对没有高级语言源代码的二进制恶意代码,信息安全工程师唯一可以依赖的语言就是汇编语言。 本书将计算机汇编语言与软件逆向分析技术交叉融合,缓解了汇编语言和逆向技术在教学上的脱节问题。本书从汇编语言的角度介绍处理器、操作系统和应用软件的底层设计,通过逆向分析技术让读者进一步深入理解系统和程序的底层运行机制,以软件知识产权保护场景的案例分析展示了汇编语言与逆向技术在信息安全领域的重要性。 本书介绍了目前使用最普遍的Intel IA32处理器及其使用的x86汇编语言。在此感谢南开大学——华为“智能基座”产教融合协同育人基地的支持,使作者有机会学习了国产华为鲲鹏处理器及其使用的功能更强大的ARM汇编语言,对处理器和汇编语言有了更深入的认识,了解到未来的发展方向。 本书逆向技术部分的学习没有采用IDA Pro和OllyDbg作为分析工具,而是选择了更加先进且免费的Binary Ninja静态逆向分析平台和x64dbg动态逆向分析平台。本书的第二作者李旭昇是负责研发Binary Ninja逆向分析工具的工程师之一。Binary Ninja在静态反汇编的基础上提供了可免费使用的C语言伪代码反编译功能,有效提升了逆向分析的效率。OllyDbg已经于2014年停止了软件更新,因此本书...
第1章基本概念1
1.1欢迎来到汇编语言的世界1
1.1.1一些问题2
1.1.2汇编语言应用程序4
本节习题5
1.2虚拟机的概念5
1.2.1虚拟机与计算机的层次结构6
1.2.2汇编编译器的历史7
本节习题7
1.3数据的表示方法8
1.3.1二进制数8
1.3.2二进制加法9
1.3.3整数存储的尺寸10
1.3.4十六进制数10
1.3.5有符号整数11
1.3.6字符的存储14
本节习题16
1.4布尔运算17
本节习题19
1.5本章小结19
第2章IA32处理器体系结构21
2.1基本概念21
2.1.1微机的基本结构21
2.1.2指令执行的周期23
2.1.3内存的读取26
2.1.4程序是如何运行的27
本节习题29
2.2IA32处理器的体系结构30
2.2.1操作模式30
2.2.2基本执行环境312.2.3浮点单元34
2.2.4Intel微处理器的历史34
本节习题36
2.3IA32的内存管理37
2.3.1实地址模式37
2.3.2保护模式38
本节习题41
2.4IA32微机的构成41
2.4.1主板41
2.4.2视频输出43
2.4.3存储器43
2.4.4输入输出接口44
本节习题45
2.5输入输出系统45
本节习题47
2.6本章小结48
汇编语言与逆向技术目录
第3章汇编语言基础49
3.1汇编语言的基本元素49
3.1.1整数常量49
3.1.2整数表达式50
3.1.3实数常量50
3.1.4字符常...