hbctool
1.0.0
命令行界面,用于拆卸和组装HERMES字节码。
由于React本地团队为运行React Antive应用程序创建了自己的JavaScript引擎(名为Hermes),因此JavaScript源代码通常被编译为HERMES字节码。在渗透测试项目中,我发现一些本机应用程序已经迁移到爱马仕引擎。我确实要分析或修补这些应用程序。因此,我创建了HBCTool,以帮助任何五个五个五个pentester测试HERMES字节码。
爱马仕(Hermes)是一款优化用于在Android上运行React Antive应用程序的开源JavaScript引擎。对于许多应用程序,启用爱马仕将导致启动时间有所改善,记忆使用减少和应用程序尺寸较小。目前,爱马仕(Hermes)是一个选择加入的本地功能,本指南说明了如何启用它。
特别感谢Erbazz和Jusmistic帮助我研究和开发此工具。
有关更多信息,请访问:
https://suam.wtf/posts/reeact-native-application-static-analisy-en/

可以在 /image/hbctool_example.mp4上找到带有MP4格式的视频。
要安装HBCTool,只需使用PIP:
pip install hbctool
请运行hbctool --help示意用法。
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
对于Android,HBC文件通常位于
index.android.bundlefileName的assets目录。
HBCTool当前支持以下HERMES字节码版本:
随时创建问题或提交合并请求。无论如何,您想为这个项目做出贡献。我对此感到非常高兴。
但是,请在提交拉动请求之前进行单位测试。
cd hbctool
python test.py
我使用诗歌来构建此工具。要自己构建,只需执行:
poetry installpoetry buildpip install --force-reinstall dist/hbctool-<VERSION>-py3-none-any.whl