• Ghidra权威指南
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

Ghidra权威指南

全新正版未拆封

60.41 4.3折 139.99 全新

库存2件

湖南长沙
认证卖家担保交易快速发货售后保障

作者[美]Chris Eagle(克里斯·伊格;Kara Nance(凯拉·南茜

出版社电子工业出版社

出版时间2022-11

版次1

装帧其他

上书时间2024-08-03

A小二郎书舍A

四年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
图书标准信息
  • 作者 [美]Chris Eagle(克里斯·伊格;Kara Nance(凯拉·南茜
  • 出版社 电子工业出版社
  • 出版时间 2022-11
  • 版次 1
  • ISBN 9787121445514
  • 定价 139.99元
  • 装帧 其他
  • 开本 16开
  • 页数 440页
  • 字数 0.7千字
【内容简介】
Ghidra是美国国家安全局(NSA)开发的免费和开源的逆向工程工具,已于2019年的RSA正式发布,包含了一整套功能齐全的高级软件分析工具,可以帮助广大研究人员在Windows、macOS和Linux各大常见系统平台上进行源代码分析。目前已在技术安全社区掀起一股学习热潮。
【作者简介】
Chris Eagle从事逆向工程工作已有40年。他是《IDA Pro权威指南》的作者,以及非常受欢迎的逆向工程培训专家。他开发了许多逆向工程工具,并在Blackhat、Defcon和Shmoocon等会议上发表演讲。Kara Nance是一名私人安全顾问。多年来一直是计算机科学教授。她曾在Honeynet Project董事会任职,并在世界各地的会议上发表过多次演讲。她喜欢构建Ghidra扩展并定期提供Ghidra培训。

杨超,毕业于西安电子科技大学,L-Team成员,CISP,CISSP,《CTF竞赛权威指南(Pwn篇)》作者。目前就职于某头部造车新势力,从事车联网安全研究和攻防测试工作,拥有多个CVE。活跃在开源社区,项目star数6000+,https://github.com/firmianay。
【目录】
第一部分  简介

第1章  反汇编简介1

1.1  反汇编理论1

1.2  何为反汇编2

1.3  为何反汇编2

1.3.1  恶意软件分析3

1.3.2  漏洞分析3

1.3.3  软件互操作性3

1.3.4  编译器验证3

1.3.5  显示调试信息4

1.4  如何反汇编4

1.4.1  基础反汇编算法4

1.4.2  线性扫描反汇编5

1.4.3  递归下降反汇编6

1.5  小结9

第2章  逆向与反汇编工具10

2.1  分类工具10

2.1.1  file10

2.1.2  PE Tools12

2.1.3  PEiD13

2.2  摘要工具14

2.2.1  nm14

2.2.2  ldd16

2.2.3  objdump17

2.2.4  otool18

2.2.5  dumpbin18

2.2.6  c++filt19

2.3  深度检测工具20

2.3.1  strings20

2.3.2  反汇编器21

2.4  小结23

第3章  初识Ghidra24

3.1  Ghidra许可证24

3.2  Ghidra版本24

3.3  Ghidra支持资源24

3.4  下载Ghidra25

3.5  安装Ghidra25

3.5.1  Ghidra的目录结构26

3.5.2  启动Ghidra27

3.6  小结27

第二部分  Ghidra的基本用法

第4章  开始使用Ghidra28

4.1  启动Ghidra28

4.2  创建新项目29

4.2.1  Ghidra文件加载30

4.2.2  使用原始二进制加载器32

4.3  使用Ghidra分析文件33

4.4  初始分析期间的桌面行为36

4.5  Ghidra桌面提示和技巧37

4.6  小结38

第5章  Ghidra数据显示39

5.1  CodeBrowser39

5.2  CodeBrowser窗口41

5.2.1  清单窗口42

5.2.2  创建额外的反汇编窗口45

5.2.3  函数图形化视图46

5.2.4  程序树窗口49

5.2.5  符号树窗口50

5.2.6  数据类型管理器窗口53

5.2.7  控制台窗口53

5.2.8  反编译器窗口53

5.3  其他窗口55

5.3.1  字节窗口55

5.3.2  数据定义窗口56

5.3.3  字符串定义窗口58

5.3.4  符号表和符号引用窗口58

5.3.5  内存映射窗口60

5.3.6  函数调用图窗口61

5.4  小结62

第6章  理解Ghidra反汇编63

6.1  反汇编导航63

6.1.1  名称和标签63

6.1.2  在Ghidra中导航64

6.1.3  Go To对话框65

6.1.4  导航历史65

6.2  栈帧66

6.2.1  函数调用机制66

6.2.2  调用约定68

6.2.3  栈帧的其他思考71

6.2.4  局部变量布局72

6.2.5  栈帧示例72

6.3  Ghidra栈视图75

6.3.1  Ghidra栈帧分析75

6.3.2  清单视图中的栈帧76

6.3.3  反编译辅助栈帧分析78

6.3.4  局部变量作为操作数79

6.3.5  Ghidra栈编辑器80

6.4  搜索82

6.4.1  搜索程序文本82

6.4.2  搜索内存83

6.5  小结84

第7章  反汇编操作85

7.1  操作名称和标签85

7.1.1  重命名参数和局部变量86

7.1.2  重命名标签89

7.1.3  添加新标签89

7.1.4  编辑标签90

7.1.5  删除标签91

7.1.6  导航标签91

7.2  注释91

7.2.1  行末注释92

7.2.2  前注释与后注释92

7.2.3  块注释93

7.2.4  可重复注释94

7.2.5  参数和局部变量注释94

7.2.6  注解95

7.3  基本的代码转换95

7.3.1  更改代码显示选项95

7.3.2  格式化指令操作数96

7.3.3  操纵函数98

7.3.4  数据与代码的转换100

7.4  基本的数据转换100

7.4.1  指定数据类型101

7.4.2  处理字符串102

7.4.3  定义数组103

7.5  小结104

第8章  数据类型和数据结构105

8.1  理解数据105

8.2  识别数据结构的使用106

8.2.1  数组成员访问107

8.2.2  结构体成员访问114

8.3  用Ghidra创建结构体120

8.3.1  创建结构体120

8.3.2  编辑结构体成员122

8.3.3  应用结构体布局124

8.4  C++逆向入门125

8.4.1  this指针125

8.4.2  虚函数和虚表126

8.4.3  对象生命周期129

8.4.4  名称改编130

8.4.5  运行时类型识别131

8.4.6  继承关系132

8.4.7  C++逆向参考资料133

8.5  小结133

第9章  交叉引用134

9.1  引用基础134

9.1.1  交叉引用(反向引用)135

9.1.2  引用示例137

9.2  引用管理窗口141

9.2.1  XRefs窗口142

9.2.2  References To窗口142

9.2.3  符号引用窗口143

9.2.4  高级引用操作143

9.3  小结144

第10章  图形145

10.1  基本块145

10.2  函数图146

10.3  函数调用图152

10.4  树157

10.5  小结157

第三部分  让Ghidra为您工作

第11章  协作逆向工程158

11.1  团队协作158

11.2  Ghidra Server设置158

11.3  共享项目161

11.3.1  创建共享项目161

11.3.2  项目管理162

11.4  项目窗口菜单163

11.4.1  文件菜单163

11.4.2  编辑菜单165

11.4.3  项目菜单166

11.5  项目仓库169

11.5.1  版本控制169

11.5.2  示例场景171

11.6  小结175

第12章  自定义Ghidra176

12.1  CodeBrowser窗口176

12.1.1  重新排列窗口177

12.1.2  编辑工具选项177

12.1.3  编辑工具179

12.1.4  特殊工具编辑功能180

12.1.5  保存CodeBrowser布局181

12.2  Ghidra项目窗口182

12.3  工具菜单185

12.4  工作区189

12.5  小结189

第13章  Ghidra功能扩展190

13.1  导入文件190

13.2  分析器192

13.3  词模型193

13.4  数据类型195

13.5  Function ID分析器198

13.6  Function ID插件199

13.6.1  插件示例:UPX200

13.6.2  插件示例:分析静态库204

13.7  小结207

第14章  Ghidra脚本开发208

14.1  脚本管理器208

14.1.1  脚本管理器窗口209

14.1.2  脚本管理器工具栏210

14.2  脚本开发210

14.2.1  编写Java脚本210

14.2.2  编辑脚本示例:正则搜索212

14.2.3  编写Python脚本215

14.2.4  支持其他语言217

14.3  Ghidra API简介217

14.3.1  地址接口218

14.3.2  符号接口218

14.3.3  引用接口218

14.3.4  GhidraScript类218

14.3.5  Program类224

14.3.6  函数接口225

14.3.7  指令接口225

14.4  Ghidra脚本开发示例226

14.4.1  示例1:枚举函数226

14.4.2  示例2:枚举指令226

14.4.3  示例3:枚举交叉引用227

14.4.4  示例4:寻找函数调用228

14.4.5  示例5:模拟汇编语言行为229

14.5  小结231

第15章  Eclipse和GhidraDev232

15.1  Eclipse232

15.1.1  Eclipse集成232

15.1.2  启动Eclipse233

15.1.3  使用Eclipse编辑脚本233

15.2  GhidraDev菜单234

15.2.1  GhidraDev→New234

15.2.2  浏览包资源管理器238

15.3  示例:Ghidra分析器模块项目243

15.3.1  步骤1:定义问题243

15.3.2  步骤2:创建Eclipse模块244

15.3.3  步骤3:构建分析器244

15.3.4  步骤4:使用Eclipse测试

分析器249

15.3.5  步骤5:添加分析器到Ghidra

安装中250

15.3.6  步骤6:使用Ghidra测试

分析器250

15.4  小结252

第16章  Ghidra无头模式253

16.1  入门253

16.1.1  步骤1:启动Ghidra254

16.1.2  步骤2和3:在指定位新建

Ghidra项目254

16.1.3  步骤4:将文件导入项目255

16.1.4  步骤5和6:自动分析文件、

保存并退出255

16.1.5  选项和参数257

16.2  编写脚本263

16.2.1  HeadlessSimpleROP263

16.2.2  自动创建FidDb267

16.3  小结268

第四部分  深入探索

第17章  Ghidra加载器269

17.1  未知文件分析270

17.2  手动加载 Windows PE 文件271

17.3  示例一:简易Shellcode加载器279

17.3.1  步骤0:准备工作280

17.3.2  步骤1:定义问题282

17.3.3  步骤2:创建Eclipse模块282

17.3.4  步骤3:构建加载器283

17.3.5  步骤4:添加加载器到

Ghidra中287

17.3.6  步骤5:在Ghidra中测试

加载器288

17.4  示例二:简易Shellcode源代码

 加载器289

17.4.1  更新1:修改导入查询的

响应289

17.4.2  更新2:在源代码中定位

Shellcode290

17.4.3  更新3:将Shellcode转化为

二进制数组290

17.4.4  更新4:导入二进制数组291

17.4.5  生成结果291

17.5  示例三:简易ELF加载器292

17.5.1  统一代码规范293

17.5.2  ELF头部格式293

17.5.3  明确支持的加载规格294

17.5.4  将文件内容加载到Ghidra中295

17.5.5  数据格式化与添加入口点296

17.5.6  语言定义文件297

17.5.7  选项文件297

17.5.8  结果298

17.6  小结300

第18章  Ghidra处理器301

18.1  理解Ghidra处理器模块302

18.1.1  Eclipse处理器模块302

18.1.2  SLEIGH303

18.1.3  处理器手册304

18.2  修改Ghidra处理器模块305

18.2.1  问题陈述306

18.2.2  示例1:在处理器模块中添加

指令306

18.2.3  示例2:修改处理器模块中的

指令312

18.2.4  示例3:在处理器模块中添加

寄存器319

18.3  小结321

第19章  Ghidra反编译器322

19.1  反编译器分析322

19.2  反编译器窗口324

19.2.1  示例1:在反编译器窗口中

编辑325

19.2.2  示例2:无返回值函数329

19.2.3  示例3:自动创建结构体331

19.3  小结334

第20章  编译器变体336

2
点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP