新書推薦:
《
儿童自我关怀练习册:做自己最好的朋友
》
售價:NT$
316.0
《
高敏感女性的力量(意大利心理学家FSP博士重磅力作。高敏感是优势,更是力量)
》
售價:NT$
286.0
《
元好问与他的时代(中华学术译丛)
》
售價:NT$
398.0
《
汽车传感器结构·原理·检测·维修
》
售價:NT$
500.0
《
怪谈百物语:不能开的门(“日本文学史上的奇迹”宫部美雪重要代表作!日本妖怪物语集大成之作,系列累销突破200万册!)
》
售價:NT$
296.0
《
罗马政治观念中的自由
》
售價:NT$
230.0
《
中国王朝内争实录:宠位厮杀
》
售價:NT$
281.0
《
凡事发生皆有利于我(这是一本读了之后会让人运气变好的书”治愈无数读者的心理自助经典)
》
售價:NT$
203.0
|
內容簡介: |
本书是一本介绍二进制分析相关工具及其应用的图书,共分为五大部分,内容涵盖了ELF 二进制代码的生成、Linux 环境下分析二进制文件的相关工具、静态的二进制代码分析、动态的二进制代码分析、Intel Pin 的架构及工具的制作、污点分析技术及实现、约束求解原理与应用、符号执行技术及应用、模糊测试技术及实现、常见的系统攻击及系统对软件的常见保护措施、常见的软件漏洞的检测等。
|
關於作者: |
彭双何,女,副教授。自2008年加入北京交通大学以来,一直从事本科教育与教学工作,多次获评本科生优秀学业导师和优秀班主任。教学上,课堂教学效果好,所在课堂”C语言程序设计”获评第一批校金课。2014年首次获评校优秀主讲教师,该荣誉一直保持到现在。2021年获评计算机学院师德师风先进个人”传道授业”奖。科研上,积极指导本科生参加各种科研活动,2018年以来发表科研论文三篇,其中SCI检索一篇;指导本科生参加大创项目获评国家级三项和北京市级五项,指导本科生参加国家级竞赛获一等奖一项、二等奖一项、三等奖一项;北京市级竞赛获三等奖四项。
|
目錄:
|
第1 章概述................................ ........................................11.1 Linux 系统安全........................ .......................................11.2 代码安全.........................·..........................................11.3 什么是二进制代码安全性分析......................................................21.4 二进制代码安全性分析的重要性...................................................21.5 二进制代码安全性分析的主要步骤.................................................21.6 软件错误、漏洞以及利用...........................................................21.6.1 软件错误.....................................................................21.6.2 软件漏洞.....................................................................31.6.3 漏洞利用.....................................................................31.6.4 二进制代码利用.............................................................4第2 章二进制代码生成...............................................................52.1 二进制代码的生成过程.............................................................52.1.1 编译预处理阶段.............................................................62.1.2 编译阶段.....................................................................62.1.3 汇编阶段.....................................................................62.1.4 链接阶段.....................................................................82.1.5 gcc 的常用选项..............................................................112.1.6 ld 的常用选项...............................................................172.1.7 gcc 的常用环境变量.........................................................212.1.8 二进制代码的生成举例......................................................212.2 ELF 文件格式.................·...........................................262.2.1 ELF文件的两种视图.......................................................272.2.2 ELF 文件的头...............................................................272.2.3 可执行文件的主要节........................................................292.2.4 位置无关代码................................................................332.2.5 ELF 文件的头...............................................................422.2.6 ELF 文件的主要段..........................................................432.3 程序的装载与调度执行.............................................................472.3.1 可执行文件的装载...........................................................472.3.2 可执行文件调度运行的过程................................................482.3.3 进程的虚拟地址空间及其访问..............................................49第3 章二进制代码信息的收集.......................................................543.1 nm ...........................................................................543.2 ldd ..........................·........................................543.3 strings ..........................·.............................................553.4 ELF 文件分析工具LIEF ...........................................................553.4.1 安装..........................................................................553.4.2 基于LIEF 对.got.plt 表的攻击举例........................................553.4.3 基于LIEF 将可执行文件转变为共享库文件...............................593.5 ps ............................. .............................................613.6 strace ....................................................................613.7 ltrace ....................................................................623.8 ROPgadget..........................·..................................623.9 objdump...............................................................633.10 readelf..............................................................653.11 GDB ...................................................................663.11.1 GDB 的初始化脚本文件...................................................663.11.2 GDB 的常用命令..........................................................663.11.3 GDB 的常用命令示例.....................................................673.11.4 GDB 命令的运行..........................................................793.11.5 GDB 命令的扩充..........................................................823.11.6 PEDA 基本使用...........................................................923.12 Pwntools ...........................................................973.12.1 Pwntools 的安装...........................................................973.12.2 通过上下文设置目标平台..................................................983.12.3 本地进程对象的创建.......................................................983.12.4 远程进程对象的创建.......................................................993.12.5 ELF 模块...................................................................993.12.6 search 方法................................................................·1003.12.7 cyclic 命令的功能.........................................................·1013.12.8 核心文件..................................................................·1023.12.9 数据转换..................................................................·1043.12.10 struct 模块...............................................................·1053.12.11 shellcraft 模块...........................................................·1063.12.12 ROP 模块................................................................·1083.12.13 GDB 模块................................................................·1123.12.14 DynELF 模块............................................................·1133.12.15 基于标准输入/输出的数据交互.........................................·1163.12.16 基于命名管道的数据交互...............................................·1183.12.17 脚本文件和被测目标程序的交互........................................·1253.12.18 基于Python 脚本文件的Pwntools 应用举例..........................·1253.13 LibcSearcher ...........................................................·127第4 章静态二进制代码分析.........................................................·1304.1 基于IDAPro 的静态分析..........................................................·1304.1.1 IDC 脚本文件..............................................................·1304.1.2 IDAPython 脚本文件......................................................·1384.1.3 IDAPython 脚本文件示例.................................................·1404.1.4 IDAPro 插件的编写........................................................·1424.2 基于Radare2 的静态分析.........................................................·1484.2.1 r2 的常用命令..............................................................·1484.2.2 r2 常用命令示例...........................................................·1504.2.3 r2 对JSON 格式数据的处理..............................................·1564.2.4 基于r2pipe 的脚本文件编写..............................................·1594.2.5 基于r2pipe 的脚本文件执行..............................................·163第5 章二进制代码脆弱性评估......................................................·1645.1 常见二进制代码脆弱性............................................................·1645.1.1 栈溢出的原理...............................................................·1655.1.2 堆溢出的原理...............................................................·1655.2 基于系统工具对代码脆弱性的评估................................................·1845.2.1 基于Clang Static Analyzer 的安全检测..................................·184
|
|