Sobre o projeto

NeverD é um motor de análise binária e descompilação projetado para fluxos de trabalho amigáveis à IA, construído em torno de lifting de instruções 1:1. Suporta formatos nativos (PE, ELF, Mach-O) e bytecode de contratos inteligentes (EVM legado, Solana SBF ELF). Alvos nativos são decodificados com Capstone; EVM e SBF usam decodificadores dedicados com reconhecimento de versão. Todas as instruções suportadas preservam o comportamento observável em LLVM IR, C, Rust (para SBF), reconstrução EVM orientada a Solidity, ou um binário reescrito em alvos nativos. O modo estrito é habilitado por padrão: instruções não suportadas lançam um erro `UnliftedInstruction` em vez de pular silenciosamente ou emitir NOPs. O motor expõe uma API C pura (`libneverd`) usada por ferramentas CLI, integradores e agentes de IA, evitando vinculação direta a Capstone, LLVM ou C++ interno. As principais capacidades incluem: - **Lifting**: Converter binários para LLVM IR. - **Descompilação**: Produzir C, Solidity (EVM) ou Rust (SBF) via `--language`. - **Patch**: Reescrever binários nativos com trampolins de seção ou sobrescrita no local. - **Recuperação mobile**: CLI experimental para Android (APK/DEX/smali para Java) e iOS (IPA/.app/Mach-O para C/Objective-C/Swift). - **Comandos de análise**: `info`, `funcs`, `disasm`, `sym-explore`, `audit`, `hunt`, `cfg`, `callgraph`, `xrefs`, `strings`, `diff`, `sigs`, e mais, com suporte a saída JSON. - **Recuperação de interpretador**: Devirtualização experimental de interpretadores x64 ELF/PE para C ou LLVM IR. - **Emulação de CPU**: Camada opcional de CPU x64/ARM64 e emulação limitada de drivers Windows (WDM/KMDF). As arquiteturas suportadas incluem x86-64, i386, AArch64, ARM32, EVM256 e SBF. O pipeline usa um IR em estágios: LowIR (opcodes neutros em relação à arquitetura + CFG), MedIR (tipos, ABI, memória, SSA), HighIR (fluxo de controle estruturado) e LLVM para otimização e geração de código. A compilação requer CMake ≥ 3.20, Ninja, um compilador C++20 e submódulos Git (fork do LLVM + Capstone). Pacotes pré-compilados do LLVM estão disponíveis para macOS arm64, Linux x86_64 e Windows x64. O projeto inclui uma bancada de trabalho desktop Qt Quick (opcional) com visualizações encaixáveis e conexões MCP. O suporte ao SDK inclui uma API C pura (`NeverDCAPI.h`) e uma ABI de plugin (`NeverDPlugin.h`), além de um pacote de plugin Python tipado. Plugins podem ser bibliotecas compartilhadas nativas ou arquivos Python, descobertos via caminhos padrão de plugins. Licença: GNU AGPL v3 apenas. Componentes do LLVM mantêm Apache-2.0 WITH LLVM-exception; Capstone mantém sua própria licença.