
Codifique. Decodifique. Identifique. Decodificação inteligente para qualquer dado.
Codifique. Decodifique. Identifique. Decodificação inteligente para qualquer dado.
Pré-lançamento, e já utilizável. A bancada de trabalho funciona, o motor de detecção desembrulha payloads em camadas, e o relatório de análise está completo.
Ainda por vir: a auditoria de acessibilidade e a passagem de internacionalização. Um desmontador e um motor de OCR estão deliberadamente fora do escopo — são projetos próprios, não operações.
O modelo habitual para uma ferramenta como esta pressupõe que você já sabe o que são seus dados: você escolhe as operações, você as encadeia, você itera. Isso é ótimo quando você reconhece o formato de imediato, e inútil quando não reconhece — o que é a maior parte do tempo em que um analista está olhando para algo novo.
O DecodeBox começa pelo outro lado. Você cola, e ele descobre o que está segurando: cada camada desembrulhada, cada indicador extraído, cada achado de segurança explicado, com a evidência de cada afirmação visível em vez de apenas declarada.
Tudo roda no seu navegador. Nenhuma entrada, nenhuma receita e nenhum arquivo jamais sai da sua máquina — não há servidor para onde enviá-los.
Um payload real da suíte de testes: Base64 sobre Base64 sobre gzip sobre JSON, com um carregador PowerShell em um campo.
Findings 4 Indicators 7 Layers 8 257 ms
CRITICAL Cloud or service credential CWE-798
Input → Base64 → Base64 → gzip
AKIAIOSFODNN7EXAMPLE
CRITICAL PowerShell download-and-execute CWE-94
Input → Base64 → Base64 → gzip → JSON → Base64 → UTF-16LE
IEX (New-Object Net.WebClient).DownloadString
A segunda descoberta está seis camadas abaixo, e o último salto veio de um blob Base64 dentro de um campo JSON. Nada que faça grep no blob original o vê, e nada que desembrulhe uma única cadeia linear o alcança.
Base64 → Base64 → MD5), num resto que não pode ser decodificado, como uma assinatura JWT, ou numa admissão honesta de que um limite foi atingido e pode haver mais por baixo.Quando nada declarado explica a entrada, o DecodeBox experimenta todas as chaves XOR de byte único e todas as rotações e pontua cada resultado quanto à legibilidade — com uma confiança que diz claramente que foi uma pesquisa e não uma correspondência.
O DecodeBox processa entrada não confiável e deliberadamente malformada por design.
connect-src 'none' e script-src 'self' mais um hash para o único script inline. As fontes são incluídas em vez de obtidas, e a build falha se alguma referência a CDN aparecer na saída.eval, new Function e qualquer caminho que renderize entrada como HTML são proibidos por regras de lint, não por convenção.style-src permite 'unsafe-inline', porque o React escreve atributos style inline; script-src, onde reside o risco real, mantém-se estrito. Para reportar uma vulnerabilidade, consulte SECURITY.md — por favor, não abra um issue público para relatórios de segurança.
DecodeBox/
├── .github/workflows/ # CI, CodeQL, SBOM, markdown quality, Pages deployment
├── public/ # Bundled fonts, favicon, CNAME
├── src/
│ ├── engine/ # The analysis engine — the only half that knows about data
│ │ ├── index.ts # THE SEAM — the only module the interface imports from
│ │ ├── operations/ # One self-contained module per transformation
│ │ ├── detection/ # Entropy, charset, magic bytes, structural validity
│ │ ├── analysis/ # Recursive exploration, indicators, security findings
│ │ ├── ctf/ # Flag search, cipher key recovery, ranked hints
│ │ ├── core/ # Recipe executor, byte handling, ciphers, codecs
│ │ └── worker/ # The engine off the main thread, past a size threshold
│ ├── components/ # The interface: workspace, report, CTF mode
│ ├── store/ # One zustand store
│ ├── hooks/ # Interaction logic shared across components
│ ├── lib/ # Share links, saved recipes, recipe text format
│ ├── i18n/ # Every user-facing string
│ └── styles/ # Design tokens and themes
├── SECURITY.md
└── LICENSE
A interface alcança o motor através de uma fachada estreita que expõe sete funções —
listOperations, bake, detect, autoDecode, identify, analyse e hints. Ambas as metades
podem ser desenvolvidas, testadas e substituídas de forma independente; o workspace foi outrora reconstruído de raiz
sem que o motor mudasse uma linha. Adicionar uma operação nunca deve exigir tocar na UI.
Requer Node.js 22.12 ou superior. O CI compila em 22 e 24; o .nvmrc fixa a 22 para desenvolvimento.