keystone-engine/keystone

GitHub: keystone-engine/keystone

一个轻量级跨平台多架构汇编器框架,将汇编指令编码为多种处理器架构的机器码,提供丰富的多语言绑定。

Stars: 2611 | Forks: 533

# Keystone Engine [![Build Status](https://travis-ci.org/keystone-engine/keystone.svg?branch=master)](https://travis-ci.org/keystone-engine/keystone) [![Build Status](https://semaphoreci.com/api/v1/aquynh/keystone/branches/master/badge.svg)](https://semaphoreci.com/aquynh/keystone) [![Build status](https://ci.appveyor.com/api/projects/status/c27slvyrijiejvqs?svg=true)](https://ci.appveyor.com/project/aquynh/keystone) Keystone 是一个轻量级的跨平台、多架构汇编器框架。 它提供了一些无与伦比的功能: - 多架构,支持 Arm、Arm64 (AArch64/Armv8)、以太坊虚拟机、Hexagon、Mips、PowerPC、RISC-V、Sparc、SystemZ 和 X86(包括 16/32/64 位)。 - 干净/简单/轻量级/直观且架构无关的 API。 - 使用 C/C++ 语言实现,并提供 Java、Masm、C#、PowerShell、Perl、Python、NodeJS、Ruby、Go、Rust、Haskell、VB6 和 OCaml 的绑定。 - 原生支持 Windows 和 \*nix(已确认支持 Mac OSX、Linux、\*BSD 和 Solaris)。 - 设计上保证线程安全。 - 开源 - 采用双许可证。 Keystone 基于 LLVM,但通过[提供更多功能](/docs/beyond_llvm.md)进一步扩展了其能力。 更多信息请访问 http://www.keystone-engine.org ## 许可证 Keystone 采用双许可证: - GNU 通用公共许可证第 2 版 (GPLv2)。(即不包含“任何更高版本”条款。) 许可证信息可以在 [COPYING 文件](COPYING)和 [EXCEPTIONS-CLIENT 文件](EXCEPTIONS-CLIENT)中找到。 这种组合允许几乎所有开源项目毫无冲突地使用 Keystone。 - 如需在生产环境中进行商业使用,请联系 Keystone 作者购买免版税许可证。 有关更多信息,请参阅 [LICENSE-COM.TXT](LICENSE-COM.TXT)。 ## 编译与文档 有关如何编译和安装 Keystone 的信息,请参阅 [COMPILE.md](docs/COMPILE.md) 文件。 更多文档请见 [docs/README.md](docs/README.md)。 ## 联系方式 如有任何问题,请通过邮件列表、电子邮件或 Twitter [联系我们](http://www.keystone-engine.org/contact/)。 ## 贡献 没有[我们的赞助商](/SPONSORS.TXT)的慷慨支持,Keystone 就不可能存在。我们对他们感激不尽! [CREDITS.TXT](CREDITS.TXT) 记录了我们项目的其他重要贡献者。 如果您想做出贡献,请从我们的 [Github issues](https://github.com/keystone-engine/keystone/issues) 中挑选一些任务。 我们还在 [TODO 列表](https://github.com/keystone-engine/keystone/wiki/TODO)中维护了一系列更具挑战性的问题。
标签:C/C++, JS文件枚举, UML, 事务性I/O, 可视化界面, 多架构, 底层开发, 日志审计, 汇编框架, 漏洞数据库, 编译器工具, 逆向工具