Uma interface da linha de comando para desmontar e montar o bytecode Hermes.
Como a equipe nativa do React criou seu próprio mecanismo JavaScript (chamado Hermes) para executar o aplicativo nativo do React, o código -fonte JavaScript é frequentemente compilado ao Hermes ByteCode. No projeto de teste de penetração, descobri que algumas aplicações nativas do React já foram migradas para o motor Hermes. É realmente uma cabeça para eu analisar ou corrigir esses aplicativos. Portanto, criei o HBCTool para ajudar qualquer Pentester a testar o Hermes ByteCode.
Hermes é um mecanismo JavaScript de código aberto otimizado para executar aplicativos nativos do React no Android. Para muitos aplicativos, a habilitação de Hermes resultará em um tempo de inicialização aprimorado, uso reduzido da memória e menor tamanho do aplicativo. Nesse momento, Hermes é um recurso nativo de reação de opção, e este guia explica como ativá-lo.
Agradecimentos especiais a Erbazz e Jusmistic por me ajudar a pesquisar e desenvolver essa ferramenta.
Para mais informações, visite:
https://suam.wtf/postss/react-native-Application-static-analysis-en/

Este vídeo com formato MP4 pode ser encontrado em /image/hbctool_example.mp4.
Para instalar o HBCTool, basta usar o PIP:
pip install hbctool
Por favor, execute hbctool --help para mostrar o uso.
hbctool --help
A command-line interface for disassembling and assembling
the Hermes Bytecode.
Usage:
hbctool disasm <HBC_FILE> <HASM_PATH>
hbctool asm <HASM_PATH> <HBC_FILE>
hbctool --help
hbctool --version
Operation:
disasm Disassemble Hermes Bytecode
asm Assemble Hermes Bytecode
Args:
HBC_FILE Target HBC file
HASM_PATH Target HASM directory path
Options:
--version Show hbctool version
--help Show hbctool help manual
Examples:
hbctool disasm index.android.bundle test_hasm
hbctool asm test_hasm index.android.bundle
Para o Android, o arquivo HBC normalmente localiza o diretório
assetscomindex.android.bundlenome.
Atualmente, o HBCTool suporta a seguinte versão Hermes Bytecode:
Sinta -se à vontade para criar um problema ou enviar a solicitação de mesclagem. De qualquer forma, você deseja contribuir com este projeto. Estou muito feliz com isso.
No entanto, execute o teste de unidade antes de enviar a solicitação de tração.
cd hbctool
python test.py
Eu uso poesia para construir esta ferramenta. Para construí -lo, basta executar:
poetry installpoetry buildpip install --force-reinstall dist/hbctool-<VERSION>-py3-none-any.whl