#capstone #engine #bindings #version #directory #instructions #testing

nightly sys libcapstone-sys

Rust 对 capstone 引擎的绑定

3 个版本

使用旧的 Rust 2015

0.3.2 2017 年 3 月 13 日
0.3.1 2017 年 3 月 12 日
0.3.0 2017 年 3 月 6 日

#capstone 中排名 10


用于 libcapstone

MIT 许可证

18KB
367 行代码,不包括注释

libcapstone-sys

对 capstone 引擎的完整 Rust 绑定。目前仅支持 Linux 和 OS X。在 Windows 上构建应该可以工作,但我目前无法测试这一点。还需要一个 Rust 的夜间版本。

入门

以下说明将帮助您在本地计算机上获取项目副本并启动开发与测试。

先决条件

您需要已安装 capstone 引擎。

您可以将环境变量 CAPSTONE_INCLUDE_DIR 设置为 capstone 引擎头文件所在的目录。环境变量 CAPSTONE_LIBRARY_DIR 指定 capstone 安装的库目录。在 Linux 和 OS X 上,这些默认为 /usr/include/usr/lib

在 Windows 上,没有默认的库和包含目录,因此您必须指定这些环境变量。

然后您只需使用 git clone 命令克隆此存储库,并使用 cd 命令进入。

构建

要构建此项目,只需执行 cargo build 命令。

示例

示例可以在 examples 目录中找到。

运行测试

只需执行 cargo test 命令。

构建工具

capstone-rs 的区别

capstone-rs 对 capstone 引擎没有完整的绑定。例如,cs_detail 完全缺失,还有许多常量也缺失。

libcapstone-sys 直接从 capstone 头文件生成绑定,因此没有任何缺失!

然而,这导致 API 不太像 Rust,为此存在 libcapstone

许可证

本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE.md 文件。

无运行时依赖项

~0–2.2MB
~44K SLoC