8 个版本 (破坏性)
| 0.7.0 | 2023年11月16日 |
|---|---|
| 0.6.0 | 2023年5月7日 |
| 0.5.0 | 2022年9月14日 |
| 0.4.0 | 2022年8月3日 |
| 0.1.1 | 2022年5月21日 |
#486 在 可视化
每月42次下载
250KB
6K SLoC
hlbc-cli 
Hashlink bytecode 反汇编器、反编译器和分析器命令行界面。
此包是一个程序,请参阅 hlbc 了解核心字节码库或 hlbc-decompiler 了解反编译器库

安装
从 发布页面 下载预构建的二进制文件(由 CI 构建,Windows 和 Linux)。
或从最新版本构建
cargo install hlbc-cli
或从最新源构建此包
git clone https://github.com/Gui-Yom/hlbc
cd hlbc-cli
cargo build --release
# The resulting binary can be found in ../target/release
用法
hlbc<file> [-c<command>] [-w<command>]
您将获得一个提示,可以在其中输入命令。
您可以使用 -c 开关在启动时执行命令。例如,从字节码中导出所有字符串然后退出: hlbc main.hl -c "s ..; exit"。如果省略 exit 命令,应用程序将在执行启动命令后简单地启动正常提示。
使用 -,给定命令将在文件更改时执行。CLI 不会显示命令提示符。
如果您在 PATH 中有 Haxe 编译器,您还可以直接传递包含 Haxe 源代码的 .hx 文件以进行即时编译。
命令
exit退出程序help帮助信息explain <op>获取操作码信息wiki在浏览器中打开字节码维基页面info关于字节码的通用信息entrypoint获取字节码入口点i|int <idx>获取索引处的整数值f|float <idx>获取索引处的浮点值s|string <idx>获取索引处的字符串sstr <str>查找字符串d|debugfile <idx>获取索引处的调试文件名sfile <str>查找名为的调试文件t|type <idx>获取索引处的类型g|global <idx>获取索引处的全局变量c|constant <idx>获取索引处的常量n|native <idx>获取索引处的本地变量fnh <findex>获取函数(findex)的头部fn <findex>获取函数(findex)sfn <str>获取名为的函数infile <idx|str>在文件中查找函数fileof <findex>获取findex定义的文件refto <any@idx>查找对指定字节码元素的引用saveto <filename>将字节码序列化到文件callgraph <findex> <depth>从函数和最大深度创建一个.dot调用图decomp <findex>反编译函数decompt <idx>反编译类
索引
在大多数接受索引的命令中,您还可以传递Rust风格的范围: a..b, ..b, a.., a..=b, ..。其中 ..10 表示“选择前10个项目”,而 .. 表示“显示所有内容”。
反编译器
反编译器有自己的crate!更多信息 这里。
变更日志
请参阅 CHANGELOG.md。
维基
有关Hashlink字节码的详细信息,可以在 这里 或使用命令 wiki 获取。
计划中的功能
- 将命令作为其他命令的参数表达式,用于组合分析,例如使用
fn (entrypoint)显示入口函数或refto (sstr Hello)
依赖项
~5–15MB
~202K SLoC