MethodWhite/Noctua-C

GitHub: MethodWhite/Noctua-C

高性能 C 语言逆向工程与取证分析框架,支持多格式二进制加载并提供反编译、侧信道分析等 20 余个分析模块。

Stars: 4 | Forks: 2

⚡ Noctua-C

Tool-CyberSec-Forensic-Noctua-C

Framework de Reverse Engineering de alto rendimiento en C

Loaders Modules Architecture CI License

CompilarUsarArquitecturaExtender


**Noctua-C** 是一个用 **C** 编写的二进制逆向工程和取证分析框架,采用 **Clean Architecture** 和 **SOLID 设计模式**设计。它支持 8 种二进制格式、20 多个分析模块、自有的 **Intermediate Language (IL)**、**伪 C 代码反编译器** 以及 **类型系统**。 ## ✨ 特性 ### 加载器 (Loaders) — 8 种格式 | 格式 | 二进制文件 | 状态 | |---------|----------|--------| | **ELF** | Linux, IoT, firmwares | ✅ 完整 | | **PE** | Windows EXE/DLL | ✅ 完整 | | **Mach-O** | macOS/iOS | ✅ 32/64位 + swap | | **DEX** | Android APK | ✅ 完整 | | **WASM** | WebAssembly | ✅ 节 (Sections) + 自定义 | | **WebP** | 图像 + EXIF | ✅ TIFF + chunks | | **FSB5** | FMOD 音频库 | ✅ V0/V1 | | **Unity** | UnityFS assets | ✅ 头部 + 数据块 | ### 模块 — 20+ 种分析 | 类别 | 模块 | |-----------|---------| | **🔐 Crypto** | `aes_sca` · `aes_key_extract` · `aes_key_tracer` · `aes_emulator` | | **📱 Mobile** | `il2cpp_analysis` · `il2cpp_dumper` · `il2cpp_key_extractor` · `il2cpp_strings_extractor` | | **🔍 核心 RE** | `decompiler` · `cs_disassembler` · `binary_analysis` · `xref_analyzer` · `type_recovery` | | **⚡ Side-Channel** | `branch_timing` · `sca_timing` | | **📊 Data** | `dataflow` · `process_memory` | | **🎵 多媒体** | `audio_extractor` · `unity_data_extractor` | ### 🧠 Intermediate Language + 反编译器 ``` ASM (AArch64/x86) → [Lifter] → IL (Noctua IR) → [Decompiler] → Pseudocode C ``` - 自有的 IR,包含 20+ 种表达式和 8 条指令 - 类 SSA 变量、标签 (labels)、基本块 - 生成带有控制结构 (if/else) 的 C 代码 ## 🏗️ 架构 ``` ┌────────────────────────────────────────────────────────┐ │ Interface Layer CLI (main.c) · API (noctua_api.c) │ ├────────────────────────────────────────────────────────┤ │ Application Layer Pipeline · Decompiler · Modules │ ├────────────────────────────────────────────────────────┤ │ Domain Layer Config · Result · IL · Type System │ ├────────────────────────────────────────────────────────┤ │ Infrastructure Loaders · Lifter · Signal · Utils │ └────────────────────────────────────────────────────────┘ ``` **模式:** Strategy · Registry · Pipeline · Config Object · Result/Monad · IR · Visitor · Adapter · Facade ## 🔧 编译 ``` git clone https://github.com/MethodWhite/Noctua-C.git cd Noctua-C make ``` **依赖项:** `capstone` · `fftw3` (可选) | 命令 | 结果 | |---------|-----------| | `make` | `noctua` + `lib/libnoctua.a` | | `make test` | 编译并运行测试 | | `make agent` | Android Frida Agent | | `make clean` | 清理 build | ## 🚀 用法 ``` # 完整分析 ./noctua /bin/ls # 特定模块 ./noctua /bin/ls dataflow ./noctua /bin/ls decompiler # 其他格式 ./noctua malware.exe ./noctua classes.dex ./noctua imagen.webp ``` ### 作为库使用 ``` #include "noctua.h" NoctuaConfig cfg = noctua_config_default(); noctua_run_analysis("binario", NULL, cfg); ``` ## 🧩 扩展 - [添加 Loaders 指南](CONTRIBUTING.md) - [添加 Modules 指南](CONTRIBUTING.md) ## 📊 Roadmap - [x] 8 个多格式 loaders - [x] 模块化 pipeline - [x] IL + 基础 Decompiler - [x] 类型系统 - [x] Clean Architecture + SOLID - [ ] 高级 Decompiler (loops, switch) - [ ] DWARF parser - [ ] Binary diffing - [ ] Python bindings - [ ] GUI (GTK/Qt)

MethodWhite 用 ❤️ 制作

🐍 Noctua (Python)🐛 报告 bug

标签:DNS重绑定攻击, Wayback Machine, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 反汇编, 客户端加密, 数字取证, 自动化脚本, 逆向工程, 静态分析