Zoxemik/GhidraRichPresence
GitHub: Zoxemik/GhidraRichPresence
Ghidra 的 Discord Rich Presence 扩展插件,支持在 Discord 中展示当前逆向工程会话状态并提供隐私保护选项。
Stars: 0 | Forks: 0
# Ghidra Discord Rich Presence 插件
Ghidra 的 Discord Rich Presence 扩展。
Ghidra Rich Presence 会在 Discord 中显示你当前的 Ghidra 会话,包括活动项目、已打开的程序、当前函数或地址,以及会话经过的时间。它专为希望在 Ghidra 中工作时拥有简洁且可配置 Discord 状态的逆向工程师而设计。
## 截图
### 插件选项
可以直接从 Ghidra Tool Options 中配置该扩展。
### 正常 Rich Presence
当隐身模式禁用时,Discord 可以根据你选择的选项显示当前程序、函数或地址/偏移量、项目名称和会话时间。
### 隐身模式
当启用隐身模式时,Discord 会显示一个通用的私人逆向工程会话,而不会泄露项目、程序、函数或地址的详细信息。
## 功能
* 显示当前的 Ghidra 项目名称
* 显示当前打开的程序/文件名
* 显示当前的函数名
* 显示当前的地址或函数偏移量
* 显示 Ghidra 会话经过的时间
* 没有打开程序时显示空闲状态
* 用于保护隐私的隐身模式
* 可配置的显示布局
* 原生 Discord IPC 连接
* 无需外部 Java 依赖即可运行
## 环境要求
* Ghidra 12.1.x
* JDK 21
* Discord 桌面客户端
* Gradle 8.5+ 或包含的 Gradle Wrapper
Discord 必须与 Ghidra 运行在同一个桌面会话中。
## 安装说明
### 从 GitHub Releases 安装
1. 从 [GitHub Releases](https://github.com/Zoxemik/GhidraRichPresence/releases/latest) 下载最新的扩展 ZIP 文件。
2. 启动 Ghidra。
3. 打开 Ghidra Project 窗口。
4. 进入 **File → Install Extensions**。
5. 点击绿色的 **+** 按钮。
6. 选择下载的 `GhidraRichPresence` ZIP 文件。
7. 在扩展列表中启用该扩展。
8. 重启 Ghidra。
9. 打开一个项目并启动一个 Ghidra 工具,例如 CodeBrowser。
在 Ghidra 启动并打开项目或程序后,Discord 中应该会出现 Rich Presence 状态。
## 从源码构建
克隆仓库:
```
git clone https://github.com/Zoxemik/GhidraRichPresence.git
cd GhidraRichPresence
```
将 `GHIDRA_INSTALL_DIR` 设置为你本地的 Ghidra 安装目录。
### Windows PowerShell
```
$env:GHIDRA_INSTALL_DIR="C:\Tools\ghidra_12.1.2_PUBLIC"
.\gradlew.bat distributeExtension
```
### Linux / macOS
```
export GHIDRA_INSTALL_DIR="/opt/ghidra_12.1.2_PUBLIC"
./gradlew distributeExtension
```
构建好的扩展 ZIP 将会生成在 `dist/` 目录中。
## 选项
在 Ghidra 中,可以通过以下路径找到插件选项:
```
Edit → Tool Options → Ghidra Rich Presence
```
可用选项:
| 选项 | 描述 |
| --------------------- | ---------------------------------------------------------------- |
| Enabled | 启用或禁用 Discord Rich Presence 集成。 |
| Incognito Mode | 隐藏项目、程序、函数和地址详细信息。 |
| Display Layout | 控制项目、程序和当前位置的排列方式。 |
| Show Project Name | 显示当前的 Ghidra 项目名称。 |
| Show Program Name | 显示当前打开的程序/文件名。 |
| Show Function Name | 显示包含当前光标地址的函数。 |
| Show Address / Offset | 显示当前地址或函数偏移量。 |
| Show Session Time | 在 Discord 中显示经过的 Ghidra 会话时间。 |
## 隐私
如果你不想在 Discord 中暴露项目名称、程序名称、函数名称或地址,请使用 **隐身模式**。
当启用隐身模式时,插件只会显示一个通用的私人逆向工程会话。
## 故障排除
### Discord 状态未显示
请确保:
* Discord 桌面客户端正在运行
* Ghidra 和 Discord 在同一个用户/会话下运行
* 该扩展已在 Ghidra 中启用
* Discord 设置中已启用 Rich Presence 活动显示
* 安装扩展后已重启 Ghidra
### 安装后扩展未显示
在安装或更新扩展后重启 Ghidra。
如果扩展仍然没有显示,请检查是否通过以下方式安装了 ZIP 文件:
```
File → Install Extensions
```
### Linux/macOS Discord IPC 问题
某些沙盒化的 Discord 包可能会将 IPC 套接字放在不同的位置,或者将它们与其他应用程序隔离。如果 Rich Presence 不起作用,请尝试官方的 Discord 桌面包,或确保 Ghidra 可以访问 Discord IPC 文件。
## 常见问题解答
### 如何将 Discord Rich Presence 添加到 Ghidra?
从 GitHub Releases 下载最新的 ZIP 文件,并在 Ghidra Project 窗口中通过 `File → Install Extensions` 进行安装。
### 这个插件会暴露我的项目名称吗?
根据你的设置,它可以显示项目名称、程序名称、函数名称和地址。启用隐身模式即可隐藏这些详细信息。
### 它需要 BetterDiscord 或 Discord bot 吗?
不需要。它通过本地的 Discord 桌面客户端使用 Discord Rich Presence。
### 它支持 Ghidra 12.1 吗?
是的。该插件针对 Ghidra 12.1.x 版本。
## 许可证
基于 Apache License, Version 2.0 授权。
标签:Discord, Ghidra插件, JS文件枚举, 云资产清单, 后台面板检测, 域名枚举, 状态展示, 逆向工程, 集成开发环境