Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐍 Noctua

Tool-CyberSec-Forensic-Noctua

Framework de Reverse Engineering y análisis forense en Python

Loaders Modules Architecture CI Python

InstalarUsarArquitecturaExtender



Noctua es un framework de reverse engineering en Python que detecta, analiza y extrae información de binarios. Arquitectura modular con 71 módulos de análisis, 8 loaders, emulación, symbolic execution, y clean architecture. Suite de 4108 tests.


✨ Características

Loaders — 8 Formatos

Formato Uso Estado
ELF Linux, IoT
PE Windows
Mach-O macOS/iOS
DEX Android
WASM WebAssembly
WebP Forense de imágenes ✅ + EXIF
Generic Fallback

Módulos — 71 Análisis

Módulo Descripción
BranchTiming Side-channel por temporización
Dataflow Detección de secrets (passwords, tokens, keys)
Spectral Análisis espectral del binario
MaxEnt Máxima entropía para ofuscación
CrossDomain Correlación cross-domain
MI2D Información mutua 2D
Entropy Entropía por secciones
Profiler Perfilado de secciones
Crypto Constantes AES, base64, etc.
ImportExport Import/export tables
Fingerprint Huella digital del binario
Embedded Detección de archivos embebidos
StringXformer Strings codificados
ByteFrequency Frecuencia de bytes
CallGraph Grafo de llamadas
Recover Recupera archivos originales: decompress + decrypt (XOR brute) + decompile → ~/.local/share/noctua/recovered/

🏗️ Arquitectura

┌──────────────────────────────────────┐
│  Interface    CLI · analyzer.py      │
├──────────────────────────────────────┤
│  Application  Pipeline · Módulos     │
├──────────────────────────────────────┤
│  Domain       Config · Result        │
├──────────────────────────────────────┤
│  Infra        Loaders · Core Engine  │
└──────────────────────────────────────┘

Patrones: Strategy · Pipeline · Config Object · Result/Monad


📦 Instalación

git clone https://github.com/MethodWhite/Noctua.git
cd Noctua
pip install -e .

Requiere Python 3.10+ (deps: capstone, numpy, scipy, pycryptodome).

Ejecutar la suite de tests

cd ..              # desde la raíz del paquete (el repo es el paquete `noctua`)
PYTHONPATH=. python3 noctua/tests/run_all.py

4108 tests (unit + integration + e2e).

Binarios nativos (PyInstaller)

Binarios autónomos para las tres plataformas en la página de releases — no requieren Python instalado:

Plataforma CLI GUI (PyQt6)
Linux noctua-<ver>-x86_64.AppImage noctua-gui-<ver>-x86_64.AppImage
Windows noctua-<ver>-windows-x86_64.exe noctua-gui-<ver>-windows-x86_64.exe
macOS noctua-<ver>-macos noctua-gui-<ver>-macos

Cada release incluye checksums.sha256 / checksums.md5 para verificar la integridad.


🚀 Uso

from core.engine import MWREEngine

eng = MWREEngine("malware.exe")
summary = eng.run()
print(summary)
from core.engine import MWREEngine
from analyzer.universal import NOCTUAAnalyzer

eng = MWREEngine("binario")
eng.run()
analyzer = NOCTUAAnalyzer(eng)
results = analyzer.run()

CLI

python -m noctua --help
python -m noctua analyze binario.elf
python -m noctua version

Con Pipeline

from pipeline import Pipeline, stage_load, stage_analyze

pipe = Pipeline()
pipe.register("Load", stage_load)
pipe.register("Analyze", stage_analyze)
pipe.run("binario.elf")

🧩 Extender

from modules.base import AnalyzerModule

class MiModulo(AnalyzerModule):
    name = "mi_modulo"
    description = "Análisis personalizado"
    applies_to = ['elf', 'pe']

    def analyze(self):
        data = getattr(self.engine, 'data', b'')
        return {'resultado': 42}

Más en CONTRIBUTING.md


About

Tool-CyberSec-Forensic-Noctua - Python reverse engineering and binary analysis framework. Supports ELF, PE, Mach-O, DEX, WASM, WebP formats with modules for crypto, entropy, dataflow, branch timing, spectral analysis, imports, fingerprinting, embedded files, and more.

Resources

Code of conduct

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages