电子书 计算机安全

Ghidra 软件逆向工程入门指南(英文电子书)

¥1.90 已售 0
✓ 自动发货 ✓ 永久有效 ✓ 售后保障

资源介绍

掌握调试艺术,从代码理解到威胁缓解 本书是 Ghidra 逆向工程工具的入门指南,涵盖从基础操作到高级技术的全流程,旨在帮助读者掌握调试、代码分析和威胁缓解技能。内容分为 5 个部分,共 18 章,结合理论与实践,适合安全研究人员、恶意软件分析师等群体。 各部分核心内容 第一部分:Ghidra 入门(第 1-4 章) Ghidra 基础 Ghidra 的历史:由美国国家安全局(NSA)开发,2017 年通过维基解密 Vault 7 泄露,2019 年正式开源。 与同类工具对比:开源免费、支持多架构、支持团队协作、可处理大型固件等。 安装与运行:涵盖下载预编译版本或从源码编译的步骤,需依赖 Java JDK 17 等工具。 核心功能:项目管理、二进制导入、自动分析、反编译视图等。 Ghidra 脚本自动化 现有脚本使用:通过 Script Manager 调用内置脚本(如字符串分析脚本)。 脚本开发:支持 Java 和 Python,基于 Ghidra API,可实现自定义自动化任务(如批量补丁生成)。 Ghidra 调试模式 开发环境搭建:整合 Eclipse IDE、PyDev 和 GhidraDev 插件。 调试技巧:调试脚本和 Ghidra 组件,分析并修复 Ghidra 的远程代码执行(RCE)漏洞。 Ghidra 扩展 扩展安装:通过内置扩展管理器安装现有扩展(如 SampleTablePlugin)。 扩展开发:基于骨架代码开发自定义扩展(分析器、插件、加载器等)。 第二部分:逆向工程(第 5-7 章) 恶意软件逆向分析 环境搭建:使用 VirtualBox 创建隔离环境,避免恶意软件扩散。 分析流程:查找字符串、导入函数、解析恶意代码片段(如入口点函数、C2 通信函数)。 案例:分析 Alina POS 恶意软件,解析其内存 scraping 和持久化机制。 恶意软件分析脚本 脚本应用:使用 Java/Python 脚本解密恶意软件中的 API 哈希、处理混淆代码。 实战:通过脚本自动解析 Alina 恶意软件的 shellcode,提取 C&C 服务器地址。 无头模式(Headless)分析 适用场景:批量处理二进制文件、自动化分析流程。 操作方法:通过命令行调用 headless 模式,执行预处理脚本、分析二进制、生成报告。 第三部分:二进制分析(第 8-10 章) 二进制差异分析(Binary Diffing) BSim 工具:通过函数特征向量比对二进制文件,识别相似函数、补丁差异。 应用:漏洞研究中对比漏洞前后版本,定位修复代码。 二进制审计 内存 corruption 漏洞:栈溢出、堆溢出、格式字符串漏洞等原理与识别方法。 漏洞利用:以栈溢出为例,演示如何控制程序流并执行 shellcode。 二进制审计脚本 P-Code 应用:Ghidra 的中间语言,实现跨架构分析。 自动化审计:通过脚本识别危险函数(如 sscanf)的不安全使用,检测潜在漏洞。 第四部分:高级逆向工程扩展(第 11-15 章) Ghidra 插件开发 插件结构:基于 ProgramPlugin 类,实现自定义 GUI 组件和功能(如函数指标计算插件)。 开发流程:从骨架代码出发,实现插件类和 UI 交互逻辑。 支持新二进制格式 加载器开发:解析新的二进制格式(如老式 DOS 可执行文件 MZ),实现自定义加载逻辑。 文件系统支持:开发文件系统加载器,处理 ZIP 等归档格式。 处理器模块分析 SLEIGH 语言:用于定义处理器指令集,生成 P-Code。 模块开发:创建支持新处理器的模块,定义指令集、寄存器和内存模型。 社区贡献 参与方式:提交 bug 报告、贡献代码、提出新功能建议。 法律规范:遵循 Apache License 2.0,确保贡献合规。 高级逆向技术 符号执行与 SMT 求解:结合 AngryGhidra 插件实现符号执行,使用 Z3 求解器分析约束。 P-Code 与 LLVM 转换:通过工具将 P-Code 转换为 LLVM IR,扩展分析能力。 第五部分:调试与恶意软件分析实践(第 16-18 章) 调试功能 调试器概述:支持本地 / 远程调试,集成 dbgeng、GDB 等后端。 调试技巧:断点管理、寄存器监控、内存查看,支持内核调试。 实战恶意软件脱壳 脱壳原理:识别加壳特征(如 VirtualAlloc 调用),动态调试获取解密后的代码。 案例:分析 Cobalt Strike 样本,提取 C2 服务器地址。 勒索软件逆向 工作流程:初始感染、权限提升、文件加密、勒索通知。 加密分析:识别加密算法(如 AES+RSA 混合加密),提取密钥交换逻辑。 案例:分析 REvil 勒索软件,解析其配置文件和加密机制。 附录与资源 附录 A:各章节习题答案。 代码资源:示例代码托管于 GitHub(https://github.com/PacktPublishing/Ghidra-Software-Reverse-Engineering-for-Beginners---Second-Edition)。 扩展资源:推荐相关书籍、官方文档和工具(如 Ghidra API 文档、LLVM 等)。 适用人群 安全研究人员、恶意软件分析师、漏洞猎人。 具备 Java 或 Python 编程基础,了解软件开发的读者。 希望快速掌握 Ghidra 工具的逆向工程初学者。