quarkslab/quokka
GitHub: quarkslab/quokka
一个基于 IDA Pro 的高效二进制导出工具,将反汇编结果打包成独立文件,支持通过 Python API 在无 IDA 环境下完整操作二进制。
Stars: 210 | Forks: 19
# Quokka
.` 从 GitHub 自动同步它。
```
user@host:~/quokka$ cmake -B build \ # Where to build
-S . \ # Where are the sources
-DIDA_VERSION=9.2 \ # IDA SDK version
-DCMAKE_BUILD_TYPE:STRING=Release \ # Build Type
user@host:~/quokka$ cmake --build build --target quokka_plugin -- -j
```
### 安装
要安装该插件:
```
user@host:~/quokka$ cmake --install build
```
在任何情况下,插件也会位于 `build/quokka-install` 中。您可以将其复制到 IDA 的用户插件目录。
```
user@host:~/quokka$ cp build/quokka-install/quokka*64.so $HOME/.idapro/plugins/
```
有关构建的更多详细信息,请参阅 [构建](docs/installation.md#ida-plugin)
## 文档
在线文档请访问
[documentation](https://quarkslab.github.io/quokka/)
## 常见问题
您可以在此处查看问题列表 [常见问题](docs/FAQ.md)
## 导出模式
Quokka 提供两种模式来导出反汇编分析:**轻量模式** 和 **自包含模式**。
**轻量模式** 专注于仅导出必要信息,生成快速且轻量的文件。在此模式下,不会导出指令级别或更低级别的信息,因此将在运行时使用 capstone 引擎来获取指令的反汇编。
**自包含模式** 则导出完整的反汇编,与后端反汇编器显示的完全一致。这将生成较大的文件,但在运行时不需要依赖第三方反汇编器。
需要注意的是,这两种模式在 Python bindings 中提供相同的 API。
有关这两种模式差异的完整概述,请查看下表:
| | 轻量模式 | 自包含模式 |
| -------- | -------- | -------- |
| 函数 | ✅ | ✅ |
| 基本块 | ✅ | ✅ |
| 指令 | ❌ | ✅ |
| 操作数 | ❌ | ✅ |
| 数据引用 | ✅ | ✅ |
| 交叉引用 | ✅ | ✅ |
| 段/布局 | ✅ | ✅ |
| 反编译 | ✅¹ | ✅¹ |
| CFG 绘图坐标 | ✅¹² | ✅¹² |
¹ 可选启用
² 目前不支持
标签:Bash脚本, BinExport 替代, IDA Pro 插件, Protobuf, Python, Quarkslab, Quokka, TLS抓取, Wayback Machine, 二进制分析, 二进制导出, 云安全监控, 云安全运维, 云资产清单, 函数识别, 反汇编, 可配置连接, 基本块, 恶意代码分析, 情报收集, 指令集, 无后门, 漏洞研究, 离线分析, 程序分析, 软件安全, 逆向工具, 逆向工程, 配置文件, 静态分析