Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Capsulith — Execute código ARM64 preservado no Node ou em um navegador; inspecione pixels de imagens decodificadas e memória inicializada. | Kitploit
Ferramentas/GitHubGitHub/nazeeh111/capsulith
Análise EstáticaAnálise Dinâmica (Sandboxing)Engenharia ReversaScripting e AutomaçãoDepuradoresUtilitários e FrameworksAnálise de BináriosExploração de Binários
GitHubnazeeh111/capsulith

Capsulith

Execute código ARM64 preservado no Node ou em um navegador; inspecione pixels de imagens decodificadas e memória inicializada.

13há 1 diaAinda não revisado
Ver Repositório
Site

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Capsulith

Execute código nativo preservado. Reabra seu estado inicializado. O Capsulith empacota funções ARM64 selecionadas, seus contratos de chamada e memória própria para Node ou para o navegador. Mantenha as instruções originais e retome um objeto inicializado em um novo worker, sem a aplicação original.

Um decodificador legado, checksum ou rotina binária isolada pode se tornar uma pequena API reutilizável. O Capsulith mostra quais bytes e dependências viajam com ele, onde a execução lê e escreve, e por que um recurso não pode ser extraído quando exige estado não suportado.

Experimente

Abra o workbench de imagens nativas. Escolha Load & run example para a arte QOI preparada, ou traga uma pequena imagem PNG ou QOI. O codificador QOI original extraído grava um arquivo, um decodificador nativo separado retorna seus pixels, e você pode inspecionar bytes RGBA individuais. Preserve essa alocação de pixels inicializada, feche o worker, depois restaure e libere-a em um novo. Nenhuma conta, servidor de upload, binário original ou compilador é necessário para executar o workbench público.

PNG usa RGBA decodificado pelo navegador como linha de base explícita de comparação; entrada apenas QOI não tem comparação independente de pixels de origem. As imagens são limitadas a 256 pixels por dimensão e 1 MiB. Esta é uma demonstração de componente nativo preparado com fonte conhecida, não um novo codec ou recuperação universal de formato. Código-fonte original do QOI, contratos, controles nativos/FFmpeg independentes e comandos Node autônomos.

PNG real importado pelo navegador, ida e volta QOI compilada e heap de pixels nativo restaurado

Experimente a demonstração de objeto no navegador sem chave e pressione Run lifecycle. Ela executa as instruções extraídas reais localmente; não chama um servidor para gerar resultados.

Baixe o wheel Python na release, depois:

python3 -m pip install capsulith-0.3.0-py3-none-any.whl
capsulith studio

Abra http://127.0.0.1:6359. A função Studio retém o decodificador LZ4 e os espécimes xxHash. Abra Object studio, escolha Open original LZ4 example e depois Run lifecycle para criar, comprimir, salvar um dicionário, criar checkpoint, restaurar, continuar e liberar um stream compilado real. Nenhuma chave de API ou serviço pago é necessário. Python 3.10+ e Capstone são necessários para extração; o navegador executa através do emulador WebAssembly incluído. Node 20+ é necessário apenas para CLI ou chamadas Node exportadas.

O Studio aceita uma dylib Mach-O ARM64, inventaria as suas funções, extrai uma raiz selecionada e permite editar buffers, argumentos de registo, entradas escalares e tipo de retorno. A vista de dependências liga helpers/imports a locais de chamada reais e instruções originais. Os eventos de execução ligam à região de memória nomeada e ao código original. Execuções paradas mostram evidência parcial sem uma alegação de resultado bem-sucedido.

Export portable capsule descarrega os bytes atuais, o contrato e as entradas, os runners Node/browser, o backend fixado, o código-fonte/scripts de build completos do backend e as licenças. Descomprima e execute node run.cjs, ou sirva essa pasta por HTTP e abra o seu runner de navegador independente. Python, Capstone e o binário original são desnecessários para essas chamadas. A API exportada aceita entradas diferentes, suporta cancelamento e impõe os limites declarados.

Manter um objeto nativo inicializado

Original LZ4 methods, restored dictionary access and exact native comparison in the object Studio

O object Studio importa JSON de módulo extraído ou lê o seu artefacto ARM64 Mach-O próprio com métodos nomeados explicitamente declarados. Inspecione as raízes, chunks e dependências reais; aloque buffers de chamador nomeados a partir de hex ou de um ficheiro local; escolha um método e forneça referências de região tipadas ou inteiros. O mapa de memória mostra regiões reais próprias e inicialização, com bytes brutos opacos em vez de campos adivinhados. Retornos, intervalos de acesso, contadores e eventos limitados vêm de instruções originais.

Guarde um checkpoint antes de uma operação que possa precisar de desfazer. Restaurar um módulo correspondente preserva os endereços de guest e os IDs de região mas cria uma nova identidade de instância; re-vincule referências por ID de região. Editar entradas revoga evidência obsoleta, e uma falha ou cancelamento requer um checkpoint prévio ou uma nova instância. A libertação nativa e a libertação do buffer do chamador são operações de ciclo de vida explícitas e separadas. O runtime nunca adivinha se os ponteiros nativos ainda se referem a um buffer.

capsulith module examples/lz4/liblz4.dylib \
  --methods examples/native-objects/methods.json --out stream.module.json
node runtime/object-cli.cjs examples/native-objects/start.json \
  --module stream.module.json --checkpoint-out first.checkpoint.json
# The first Node process has ended. This command opens a fresh worker.
node runtime/object-cli.cjs examples/native-objects/continue.json \
  --module stream.module.json --checkpoint first.checkpoint.json
capsulith export-module stream.module.json \
  --checkpoint first.checkpoint.json --out stream-object.zip

Escolha novos nomes de saída; os comandos de exportação de módulo, checkpoint e objeto recusam-se a sobrescrever ficheiros existentes. Os programas de operação fornecidos são específicos do ciclo de vida LZ4 documentado. Os módulos genéricos necessitam dos seus próprios métodos declarados pelo chamador e programas de operação.

Uma exportação de objeto contém o módulo de instruções original, bytes de checkpoint retidos opcionais, runners independentes para Node/browser, o Studio do objeto, o runtime e os scripts de compilação/fonte do backend correspondente, licenças e um manifesto de ficheiros com bytes, SHA256 e permissões. Sirva a pasta e abra index.html para restaurar o checkpoint incluído sem endpoints de API, ou execute node run.cjs your-operations.json --checkpoint checkpoint.json. Binários originais, pacotes Python e compiladores são desnecessários para a execução. Um checkpoint inclui bytes do chamador retidos; inspecione-os antes de partilhar. Consulte a API de objetos e o formato de operação e o exemplo nativo.

Use o seu próprio artefacto

capsulith inspect legacy.dylib
capsulith extract legacy.dylib --root _decode \
  --contract decode-contract.json --out decode.capsule.json
capsulith run decode.capsule.json --inputs input.json
capsulith export decode.capsule.json --inputs input.json --out decoder.zip

A seleção de root também aceita um endereço de início de função verificado, como --root 0x440. Um símbolo exportado não é um protótipo. Você fornece o contrato de chamada real; o Capsulith não infere uma ABI (as regras que colocam argumentos e valores de retorno em registradores). O guia de runtime define buffers, inteiros de 32/64 bits, importações de memória e limites. examples/xxhash/contract.json é um exemplo completo de três argumentos.

O que funciona hoje

Baixar ferramenta