简介

Ghidra 是由美国国家安全局研究局创建和维护的软件逆向工程 (SRE) 框架 。该框架包括一套功能齐全的高端软件分析工具,使用户能够在包括 Windows、macOS 和 Linux 在内的各种平台上分析编译代码。功能包括反汇编、汇编、反编译、绘图和脚本,以及数百个其他功能。Ghidra 支持多种处理器指令集和可执行格式,并且可以在用户交互和自动化模式下运行。用户还可以使用 Java 或 Python 开发自己的 Ghidra 扩展组件和/或脚本。
下载地址:

https://github.com/NationalSecurityAgency/ghidra

使用

在github里下载后进入文件夹,安装java环境

apt install openjdk-11-jdk

然后运行工具

./ghidraRun

进入主界面
在这里插入图片描述
新建一个项目或者打开一个项目
在这里插入图片描述
在这里插入图片描述
next
在这里插入图片描述
设置项目的存放地址,和名字
在这里插入图片描述0
在这里插入图片描述
导入你想反汇编的文件,双击文件,然后会让你选择分析的东西,这里我们默认即可
在这里插入图片描述
在这里插入图片描述

实战

在这里插入图片描述
使用ghidra逆向程序
查看程序中的字符串
在这里插入图片描述
找到刚刚显示在终端里的字符串
在这里插入图片描述
然后双击去到函数调用的地方
在这里插入图片描述
在这里插入图片描述
点击反汇编函数
在这里插入图片描述
我们就能看到和ida差不多的反汇编的界面了
分析伪代码
在这里插入图片描述
在第二十一行的位置和0x86187做了一个对比,正确的话就弹出flag,错误的话就退出
我们将0x86187转换成十进制即可,右击,选择转换成10进制
在这里插入图片描述
在这里插入图片描述
对比的数字为549255
我们运行程序后将此数字输入看看
在这里插入图片描述

总结

这个工具我在外网看见的,并且工具本身也是开源的,我就拿来用一下试试,然后记录一下操作,平时我用的是ida和x64dbg,已经用习惯了

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐