Ghidra-学习日记-01-安装与初识
目录一、环境信息二、介绍三、环境准备四、版本下载五、内存调整六、测试程序1、Riddle.c源码2、编译3、运行七、实践1、创建目录2、启动3、新建项目4、导入文件5、反编译6、分析八、实用技巧1、全局搜索2、函数列表一、环境信息名称值CPUx86操作系统Centos8Ghidra版本12.1.3JAVA版本21.0.2二、介绍Ghidra 是由美国国家安全局NSA研究部门开发的一款免费、开源的软件逆向工程SRE框架最初于 2019 年在 GitHub 上公开源代码。它提供了一套功能强大的工具用于分析编译后的代码帮助安全研究人员、恶意软件分析师和软件开发者理解二进制程序的行为。三、环境准备需安装JAVA 21可参考之前的博客Linux-学习-12-JDK安装https://blog.csdn.net/qq_45111959/article/details/164810239?spm1011.2415.3001.5331四、版本下载我用的是原版。原版下载链接Ghidra-github-release版本链接https://github.com/NationalSecurityAgency/ghidra/releases中文版下载链接Ghidra中文版-github-release版本https://github.com/TC999/ghidra-chinese/releases五、内存调整[rootlocalhost ghidra_12.1.3_PUBLIC]# pwd /opt/Ghidra/ghidra_12.1.3_PUBLIC [rootlocalhost ghidra_12.1.3_PUBLIC]# vim support/launch.propertieslaunch.properties配置文件中添加VMARGS-Xms5G VMARGS-Xmx6G可避免报错java heap space。六、测试程序如果大家有程序的话就可以省略这一步。1、Riddle.c源码#include stdio.h #include stdlib.h #include string.h #define RIDDLE_STR SUN #define RIDDLE_LEN (sizeof(RIDDLE_STR) - 1) #define BUF_SIZE (RIDDLE_LEN 15) int main() { char Buf[BUF_SIZE] {0}; printf(Input riddle : ); if (scanf(%s, Buf) 1) { if(strncmp(Buf,RIDDLE_STR,RIDDLE_LEN) 0) { printf(Riddle guessed correctly.\n); } else { printf(Riddle guessed wrong.\n); } } else { printf(Input format error.\n); } return 0; }2、编译gcc -Wall -Wextra -O2 -o Riddle Riddle.c3、运行[rootlocalhost opt]# ./Riddle Input riddle : SUN Riddle guessed correctly. [rootlocalhost opt]# ./Riddle Input riddle : sun Riddle guessed wrong.七、实践1、创建目录[rootlocalhost opt]# mkdir /opt/riddle2、启动[rootlocalhost ghidra_12.1.3_PUBLIC]# ./ghidraRun如果报错了用DEBUG版本启动看一下它会告诉你失败原因。[rootlocalhost ghidra_12.1.3_PUBLIC]# ./support/ghidraDebug Invalid initial heap size: -Xms2G -Xmx2G Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.3、新建项目点击File-New Project点击Next填写项目目录、项目名点击Finish4、导入文件点击Import File选择程序文件点击Select File To Import点击OK点击OK5、反编译双击程序点击Yes点击Analyze分析选项默认即可。程序比较小反编译很快。6、分析19行是谜语猜错16行谜语猜测正确根据14行的strncmp字符串比较函数local_28是读取内容SUN就是谜底。八、实用技巧1、全局搜索先点击左上角的保存点击Search-Memory左侧箭头填写错误信息搜右侧箭头的类型改为String回车即可点击Make Selection会自动跳跃到错误信息出但右侧不是相应C伪源码点击References-Show References To Address双击选中的红框就跳转到相应的C伪代码可以看到相应的错误信息。2、函数列表Symbol Tree中的Functions可以看到程序中包含的大部分函数可以直接点击跳转我这个程序太小了就一个main函数。

相关新闻

软考网络工程师真题解析:QinQ、OSPF与链路聚合实战

软考网络工程师真题解析:QinQ、OSPF与链路聚合实战

简介:这份资源是2024年下半年网络工程师案例分析真题的答案解析文档,面向备考网络工程师资格考试的技术人员及从事网络设计与故障排除的IT从业者。内容围绕真实项目场景展开,涵盖VLAN与QinQ配置、OSPF邻居建立与虚链路排错、综合布线规划、AC…

2026/10/13 20:50:24 阅读更多 →
Academic Research Skills 安装教程:2 条命令 30 秒搭好论文流水线(CLI / VS Code / JetBrains 通用)

Academic Research Skills 安装教程:2 条命令 30 秒搭好论文流水线(CLI / VS Code / JetBrains 通用)

Academic Research Skills 安装教程:2 条命令 30 秒搭好论文流水线(CLI / VS Code / JetBrains 通用) 【免费下载链接】academic-research-skills Academic Research Skills for Claude Code: research → write → review → revise → fina…

2026/10/11 8:41:17 阅读更多 →
docker-selenium 浏览器镜像版本标签体系全解析:从 Chrome 133 发布记录解读 `tag_and_push_browser_images.sh` 打标签流程

docker-selenium 浏览器镜像版本标签体系全解析:从 Chrome 133 发布记录解读 `tag_and_push_browser_images.sh` 打标签流程

测试后端云原生容器编排可观测性 【免费下载链接】docker-selenium Provides a simple way to run Selenium Grid with Chrome, Firefox, and Edge using Container Platform, making it easier to perform browser automation at scale 项目地址: https://gitcode.…

2026/10/10 15:17:24 阅读更多 →

最新新闻

微信小程序云开发超市库存管理系统源码解析与二次开发指南

微信小程序云开发超市库存管理系统源码解析与二次开发指南

最近我拆了一套微信小程序超市库存管理系统,也就是标题里那个71788编号的源码包。整套系统基于微信小程序云开发实现,包含商品管理、入库出库、库存预警、供应商管理和基础报表,完成度比预想中高不少,适合做小程序进销存项目的参考…

2026/10/14 5:13:02 阅读更多 →
CentOS 8.0安装Oracle 12cR2全流程指南:兼容性处理与高频报错排查

CentOS 8.0安装Oracle 12cR2全流程指南:兼容性处理与高频报错排查

CentOS 8.0 和 Oracle 12c Release 2 天生就有个时间差:12.2.0.1 发布时还是 Red Hat 7 的时代,CentOS 8 的发行说明里根本没有它的一席之地。我最初以为无非是装几个依赖包的事,结果真正动手时才发现,光是缺少 compat-libstdc-33…

2026/10/14 5:13:02 阅读更多 →
告别AI应用廉价感:5个可落地的设计决策

告别AI应用廉价感:5个可落地的设计决策

我常年看别人拿AI代码工具做产品,发现一个特别有意思的现象:功能跑得通,界面也齐全,但成品一眼看过去就是“便宜货”。那种感觉就像用了最新款的厨具,做出来的菜却带着食堂味。很多人归咎于自己不会审美,但…

2026/10/14 5:13:02 阅读更多 →
数据提取完整实践复盘:从需求拆解到稳定落地全流程

数据提取完整实践复盘:从需求拆解到稳定落地全流程

一个"数据提取_1"引发的完整实践复盘:从需求拆解到稳定落地的全流程"数据提取_1"这个标题,乍看像是一个临时命名的脚本文件或者项目目录,但做过数据处理的人都知道,这背后往往是一个"看起来简单&#xf…

2026/10/14 5:13:02 阅读更多 →
长活动按声音对齐后片尾漂移,起点通过不代表整段同步

长活动按声音对齐后片尾漂移,起点通过不代表整段同步

多机位视频可在剪映专业版当前支持的同步流程尝试按声音对齐,再人工检查整段。长活动的片头对上了,片尾口型或动作却落后,应先看连续录制区间、素材时长与后期处理,不把一次自动匹配通过当作全程同步。声音定位能帮助起点判断&…

2026/10/14 5:13:02 阅读更多 →
EPLAN电气项目图纸高效读图与安全复用指南

EPLAN电气项目图纸高效读图与安全复用指南

做电气设计这些年,我经手过不少EPLAN项目文件,有自己从头画的,也有从同行手里拿到后二次改造的。一个很直观的体会是:同样是"分享图纸",文件与文件之间的价值差距可以非常大。有的图纸打开就能当标准模板用&…

2026/10/14 5:12:02 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →