前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >美国国安局逆向工程框架——Ghidra的简单使用

美国国安局逆向工程框架——Ghidra的简单使用

作者头像
用户1423082
发布2024-12-31 18:40:57
发布2024-12-31 18:40:57
9120
举报
文章被收录于专栏:giantbranch's bloggiantbranch's blog

背景

Ghidra是由NSA开发的软件逆向工程(SRE)框架。 它有助于分析恶意代码和病毒等恶意软件,并可以让网络安全专业人员更好地了解其网络和系统中的潜在漏洞。

美国国家安全局在今年3月举行的2019年RSA会议上首次公开演示时,将Ghidra作为开放源代码发布给公众。

链接:

https://ghidra-sre.org/

国内应该访问不到,怎么访问你懂的~

前置环境

宣称可以在以下三个环境运行(暂时支持64位的系统)

  • Microsoft Windows 7 or 10 (64-bit)
  • Linux (64-bit, CentOS 7 is preferred)
  • macOS (OS X) 10.8.3+ (Mountain Lion or later)

依赖:jdk11

下载地址(我下载的是当时最新的Java SE 11.0.2(LTS))

https://www.oracle.com/technetwork/java/javase/downloads/index.html

使用

创建项目

windows直接双击ghidraRun.bat打开(linux和mac可以执行ghidraRun脚本)

首先我们创建一个project(上图我是已经新建了一个叫做test的项目)

选择Non-Shared Project (另一个选择Shared Project是会在本地监听一个端口,方便分享)

接下来填好路径和项目名就可以了

反编译程序

导入要分析的二进制文件,都选择默认选项就行

之后你导入的二进制文件就会出现在project下面(我的项目名是test)

双击对应的文件即可开始分析该文件,下面以Reverse-org.exe为例,双击后选择分析

然后选择分析选项

那怎么找到main函数呢 我们可以找到左边的functions,找到entry(当然有些程序直接有main,或者_start等关键字)

通过Filter搜索可以更快一点,双击即可再右边看到entry代码

查看反编译,对逆向熟悉的就知道下面这个就是main函数了

双击即可跳到面函数处,反编译窗口下拉即可看到main的代码

看函数的流程图可以点这个

最后说说现在想到的一些快捷键

1、g 跳到对应的地址 2、f 创建函数 3、; 添加注释 4、L 重命名变量名,函数名

总结

试了下,发现几点 1、可以对mips架构的程序进行反编译,这个比ida要好(官方说支持各种处理器指令集,试了下SPARC架构也可以,真牛逼!!!) 2、反编译的c++代码好像更加简洁 3、支持多平台,这个不错 4、更重要的,开源,免费

缺点:不熟悉操作,暂时感觉没有ida方便,没发现有调试功能

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 前置环境
  • 使用
    • 创建项目
    • 反编译程序
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档