跟羽夏学 Ghidra ——简述
写在前面
此系列是本人一个字一个字码出来的,包括示例和实验截图。本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我。
简介
Ghidra
是由美国国家安全局(NSA)研究部门开发的软件逆向工程(SRE)套件,用于支持网络安全任务。它包括一套功能齐全的高端软件分析工具,使用户能够在各种平台上分析编译后的代码,包括Windows
、Mac OS
和Linux
。功能包括反汇编,汇编,反编译,绘图和脚本,以及数百个其他功能。Ghidra
支持各种处理器指令集和可执行格式,可以在用户交互模式和自动模式下运行。用户还可以使用公开的API
开发自己的Ghidra
插件和脚本。
每个教程都有自己的侧重点,介绍的应该是学习方法和基础知识,而不是填鸭式教学,不教的不会,这个不是我写这个教程的初衷。本系列教程侧重于Linux
平台分析逆向ELF
文件,我将会在Deepin
操作系统上,使用Ghidra 10.1.5
进行介绍。
本系列教程是我研读The Ghidra Book
完整版整理得到,结合我的写作风格,以尽可能简单的语言进行,并配合实例进行介绍,避免眼高手低的情况。
国内有关Ghidra
系统的入门教程很少,还是英文的,对于英文基础薄弱的同志是个头痛的事。但不意味着你不用学英语了,软件只有英文版本,没有任何其他语言的版本,当然包括中文。
鉴于之前写的教程会被大量的网站转载,甚至自己不经我的允许原创并嵌入自己的广告。以防拿着我写的教程卖钱,我会在文章加入一些个人信息进行反制(在不影响教程流畅度和观感的情况下),当然这也不能彻底解决问题。
前置知识
在学习任何教程之前,都有自己所需的前置知识,除非你学习最基础的课。在寂静的羽夏的本系列教程,如果你不学会如下知识,你将寸步难行:
- 熟练使用 C/C++ ,对指针信手拈来
- 会汇编(本篇是 Intel x64架构,其他类推)
- 会英语,最起码对英语没有生理上的反感和恶心
- 清楚什么是进制
- 充分了解 C/C++ 与汇编的联系
- 计算机编程和现代操作系统的基础知识,比如堆和栈、虚拟内存等
- 什么是调用约定
如果想充分了解C/C++
与汇编
的联系,可以参考我的 羽夏看C语言系列教程 。虽然是Win
平台的,但相差无几,原理相通。
目录
- 跟羽夏学 Ghidra ——简述(本篇将会介绍,博客园)
- 跟羽夏学 Ghidra ——工具
- 跟羽夏学 Ghidra ——初识
- 跟羽夏学 Ghidra ——窗口
- 跟羽夏学 Ghidra ——数据
- 跟羽夏学 Ghidra ——引用
- 跟羽夏学 Ghidra ——导航
- 跟羽夏学 Ghidra ——调试
参考书
The Ghidra Book
完整版,想下载电子版找 看雪论坛 ,只有英文的,如果经济基础允许建议支持正版。
下一篇
跟羽夏学 Ghidra ——简述的更多相关文章
- 跟羽夏学 Ghidra ——工具
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇文章 ...
- 跟羽夏学 Ghidra ——初识
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇文章 ...
- 跟羽夏学 Ghidra ——窗口
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇文章 ...
- 跟羽夏学 Ghidra ——数据
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇文章 ...
- 跟羽夏学 Ghidra ——引用
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇文章 ...
- 跟羽夏学 Ghidra ——导航
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇文章 ...
- 跟羽夏学 Ghidra ——调试
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇文章 ...
- (一)羽夏看C语言——简述
"羽夏看C语言"介绍什么 本系列从汇编的角度,比较翔实的介绍C语言.C++和C其实是一样的东西,C++的编译器只是更强大,更能帮助我们写代码,例如模板.没有特殊说明,本系列不会 ...
- 羽夏看Win系统内核——简述
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- 羽夏看Win系统内核——保护模式篇
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
随机推荐
- MySQL 索引失效场景总结
查询条件有 or 假设在 customer_name 字段设置了普通索引,执行以下 sql: # type: ref, possible_keys: idx_customer_name, key: i ...
- #搜索,计算几何#JZOJ 4016 圈地为王
题目 在\(n\)行\(m\)列的网格中,你要圈一些地. 你从左上角出发,最后返回左上角,路径内部的区域视为被你圈住. 你不可以进入网格内部, 只能在边上行走. 你的路径不能在左上角以外自交, 但是边 ...
- OpenHarmony—应用间HSP开发指导
应用间HSP用于不同应用间的代码.资源共享. 应用间HSP的宿主应用是一种特殊状态的应用,只能由一个HSP组成,不会独立运行在设备上,而是被普通应用模块的依赖项引用.当普通应用运行时,通过动态调用的 ...
- 【Kotlin】类和对象
1 前言 Kotlin 是面向对象编程语言,与 Java 语言类似,都有类.对象.属性.构造函数.成员函数,都有封装.继承.多态三大特性,不同点如下. Java 有静态(static)代码块,Ko ...
- Git 07 IDEA基本使用
IDEA 是目前最流行的 Java 集成开发环境,我们一般使用 Git 都是在 IDEA 上操作. 这里以 2021.3.2 版 IDEA 为例. 克隆项目 1.复制 Gitee 上的项目地址 2.点 ...
- Python设计模式----4.构建者模式
构建者模式: 将一个复杂对象的构造与表现进行分离,利用多个步骤进行创建,同一个构建过程可用于创建多个不同的表现 构建者模式一般由 Director(指挥官)和 Builder(建设者)构成 class ...
- 2、androidStudio调用Unity方法
1.导入Unity的Classes.jar文件 (1).首先找到这个包在哪 Unity版本为5.0之前时,classes.jar的路径: unity的安装路径\Editor\Data\Playback ...
- HarmonyOS Connect FAQ第四期
原文:https://mp.weixin.qq.com/s/bvaV086QTnpnDFyYAVxQwQ,点击链接查看更多技术内容.在HarmonyOS Connect生态产品的认证测试环节,你是否存 ...
- c# webapi swagger
如何配置swagger? 在使用项目中,我们希望去查看我们的webapi的测试,那么我们是需要去有一个集成的测试的. 步骤 1.在nutget管理包中下载swagger包. 2.这样会在App_sta ...
- kkfileview搭建实战
kkfileview可以与nginx搭建的文件服务器配合实现预览工作,也可以通过自身的文件系统机制免搭建nginx文件服务器来实现预览工作. nginx 创建nginx # 创建初始容器,获得容器内部 ...