跟羽夏学 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系统内核——保护模式篇
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
随机推荐
- Boruvka 简介
Boruvka 是一种最小生成树算法,用于求解稠密图的 MST. [典题]CF Xor-MST: 发现边数是 $n^2$ 级别的,直接把 Kruskal 和 Prim ban 了,所以考虑使用 Bor ...
- #AC自动机,树状数组#洛谷 2414 [NOI2011] 阿狸的打字机
题目 分析 首先考虑按照题意建出一个AC自动机, 然后\(s[x]\)在\(s[y]\)出现的次数也就是 在fail树上,根节点到\(y\)中一共出现了多少个\(x\), 在\(x\)的终止节点处统计 ...
- #差分约束系统,最长路,线段树优化建边#洛谷 3588 [POI2015] PUS
题目 给定一个长度为\(n\)的正整数序列 \(a\) ,每个数都在 \(1\) 到 \(10^9\) 范围内, 告诉你其中 \(s\) 个数,并给出 \(m\) 条信息,每条信息包含三个数 \(l, ...
- C#中操作Excel
在GIS数据处理中,经常遇到与Excel的交互,这里进行简单的总结. Excel行列号就像是编辑中的二维数据组,操作Excel相当于操作二维数组.遍历.循环.取值.赋值-- 1.添加引用 添加引用也有 ...
- Git 13 暂存代码
如果当前分支的功能还没开发完,无法提交代码. 但出现了紧急情况(比如线上BUG),需要立即切换到其他分支进行开发. 此时可以先暂存当前分支代码,等切换回当前分支的时候再恢复. 1.暂存当前分支变更: ...
- nginx重新整理——————http请求的11个阶段中的access阶段[十五]
前言 简单介绍一下access 阶段. 正文 限制某些ip地址的访问权限: syntax: allow address| CIDR|unix:|all; defuat: - context: http ...
- 如何使用Plotly和Dash进行数据可视化
本文分享自华为云社区<从数据到部署使用Plotly和Dash实现数据可视化与生产环境部署>,作者: 柠檬味拥抱. 数据可视化是数据分析中至关重要的一环,它能够帮助我们更直观地理解数据并发现 ...
- Vue3实现图片滚轮缩放和拖拽
在项目开发中遇到一个需求: 1:用鼠标滚轮可对图片进行缩放处理 2:点击按钮可对图片进行缩放处理 3:可对图片进行拖拽处理 我在开发中通过自己实现与百度查看优秀的铁子进行了两种类型的使用 <te ...
- 海康摄像机&大华摄像机&DSS平台的RTSP流地址格式
实时流 海康: rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream 说明:username: ...
- esp8266,arduino,网页显示dht11温湿度,控制继电器开关,局域网智能家居
不说了,上代码,用arduino实现esp8266代码 #include <ESP8266WiFi.h> #include <WiFiClient.h> #include &l ...