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