跟羽夏学 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系统内核——保护模式篇
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
随机推荐
- KingbaseES toast技术原理及实现
前言 1.TOAST的作用 TOAST全称是The Oversized-Attribute Storage Technique, 超大属性存储技术,就是超长字段在数据库中的存储方式.主要用来应对物理数 ...
- KingbaseES 数据库逻辑优化规则
SQL 优化的过程可以分为逻辑优化和物理优化两个部分.逻辑优化主要是基于规则的优化,简称 RBO(Rule-Based Optimization).物理优化会为逻辑查询计划中的算子选择某个具体的实现, ...
- 谈谈MyBatis持久层框架
谈谈 MyBatis 源自官方文档:MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作. ...
- 【AI】『Suno』哎呦不错呦,AI界的周董,快来创作你的歌曲吧!
前言 缘由 Suno AI的旋风终于还是吹到了音乐圈 事情起因: 朋友说他练习时长两天半,用Suno发布了首张AI音乐专辑.震惊之余,第一反应是音乐圈门槛也这么低了,什么妖魔鬼怪都可以进军了嘛! 好奇 ...
- #线段树,离线#CF1000F One Occurrence
题目 给定一个长度为\(n\)序列,\(m\)个询问,每次询问给定一个区间\([l,r]\), 如果这个区间里存在只出现一次的数,输出这个数(如果有多个就输出任意一个),没有就输出0 分析 考虑离线, ...
- Jchardet——支持检测并输出文件编码方式的组件
简介 Jchardet是OpenAtom OpenHarmony(以下简称"OpenHarmony")系统的一款检测文本编码的组件.当上传一个文件时,组件可以检测并输出该文件中 ...
- HMS Core 3D Engine助您实现逼真3D渲染效果,构筑大型3D数字世界
HMS Core 3D Engine是一款高性能.高画质.高可靠的实时3D引擎,旨在帮助开发者制作高品质的3D应用.3D Engine将为您提供可编程渲染管线,多维粒子系统,3D角色与动画,超大地形地 ...
- C++ 获取数组大小、多维数组操作详解
获取数组的大小 要获取数组的大小,可以使用 sizeof() 运算符: 示例 int myNumbers[5] = {10, 20, 30, 40, 50}; cout << sizeof ...
- HDC2021技术分论坛:跨端分布式计算技术初探
作者:zhengkai,分布式通信首席技术专家 当今的移动应用都向着智能化和多样化方向发展,例如AI辅助,VR/AR应用,沉浸式游戏等.然而现实中的移动设备,因为便携性要求受限于尺寸.电池容量以及温控 ...
- 树模型-label boosting-GBDT
GBDT GBDT是boosting系列算法的代表之一,其核心是 梯度+提升+决策树. GBDT回归问题 通俗的理解: 先来个通俗理解:假如有个人30岁,我们首先用20岁去拟合,发现损失有10岁,这时 ...