基于Ghidra的代码逆向解析

使用Ghidra+SVD插件对bin文件进行逆向解析

安装JDK

Ghidra是用Java开发的
所以首先要安装Java环境

在这里安装JDK
选择 .msi 文件

在这里插入图片描述

下载完成双击

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击浏览修改存放路径

在这里插入图片描述
在这里插入图片描述

下一步
安装

在这里插入图片描述

等待安装完成

在这里插入图片描述

安装Ghidra

在此安装Ghidra

在这里插入图片描述

下载完双击这个即可开始下载

在这里插入图片描述

使用Ghidra

在这里插入图片描述
在这里插入图片描述

选择项目存放路径
修改项目名

在这里插入图片描述

可以看到界面多出来了一个项目

在这里插入图片描述

直接把 .bin 文件拖进来
可以自己生成 .bin 文件进行试验
不会生成bin文件可以看我这篇文章

在这里插入图片描述

选择芯片的架构

在这里插入图片描述

我的bin文件是基于stm32f407
所以选择 ARM v4 32 little default

点击OK

在这里插入图片描述

点击OK

在这里插入图片描述

双击工程
yes
Analysis
这时就能看到 汇编伪C

在这里插入图片描述

安装SVD插件

插件下载

在这里插入图片描述

下载完压缩包后
首先在需要存放的磁盘根目录创建 leveldown security 文件夹

一定要在根目录创建这个文件夹!!

在Ghidra上方找到 Display Script Manager

在这里插入图片描述

Manage Script Directories

在这里插入图片描述

Display file chooser to add bundles to list

在这里插入图片描述

选择刚刚的文件夹

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关闭上面的窗口
在下方搜索栏输入 SVD
能显示 SVD-Loader.py 说明安装成功

在这里插入图片描述

使用SVD插件

找到对应芯片的 svd文件

一般在Keil5的安装目录下,如

D:\Keil5\Packs\Keil\STM32F4xx_DFP\3.0.0\CMSIS\SVD

在这里插入图片描述

双击 SVD脚本
选择对应的 svd文件

在这里插入图片描述

等待一会脚本就会把bin文件中所有模块对应的实现函数分析出来

在这里插入图片描述

最后对bin文件的逆向解析成功

在这里插入图片描述
OKay希望这篇文章对你有所帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值