这个项目能做什么
Capstone Engine是一个用纯C编写的开源反汇编框架,专为安全社区中的二进制分析和逆向工程而设计。它由Nguyen Anh Quynh创建,并由一个小型开发者社区维护,采用宽松的BSD许可证分发。
架构覆盖是Capstone的显著特点之一。它处理各种硬件和虚拟架构的机器代码:ARM、AArch64(ARMv8)、Alpha、ARC、BPF、以太坊虚拟机、LoongArch、HPPA(PA-RISC)、M68K、M680X、MIPS、MOS65XX、PowerPC、RISC-V(rv32G/rv64G)、SH、SPARC、SystemZ、TMS320C64X、TriCore、WebAssembly、XCore、Xtensa,以及16位、32位和64位模式的x86。
除了将机器代码转换为汇编文本外,Capstone还公开了每条反汇编指令的详细信息——这一能力在其他工具中有时被称为“分解”——包括指令语义,例如读取和写入哪些隐式寄存器。该API设计简洁、轻量且架构中立,因此相同的接口适用于所有支持的平台。
Capstone在设计上是线程安全的,并包含对嵌入固件或操作系统内核的特殊支持,使其适用于低级和受限环境。该项目自称高性能,能够处理各种x86恶意软件技巧,定位为恶意软件分析用例。
虽然核心是用C实现的,但提供了多种语言的绑定——要么在主代码库中,要么由社区外部提供——包括Python、C++、C#、Java、Go、Rust、NodeJS、Ruby、Perl、PHP、Lua、Haskell、OCaml、Clojure、F#、Common Lisp、Swift、D、Visual Basic、PowerShell、Emacs Lisp、Delphi、Free Pascal和Vala。Python包发布在PyPI上。原生构建支持Windows、macOS、iOS、Android、Linux、*BSD和Solaris。
该项目参与Google的OSS-Fuzz持续模糊测试计划,其文档涵盖构建和安装、软件架构、测试以及自动同步更新组件。社区讨论在Telegram群组中进行,贡献指南包含在仓库中。
典型用户包括安全研究人员、恶意软件分析师,以及构建调试器、跟踪器或其他需要以编程方式解释机器代码的工具的开发者。请注意,Capstone是一个库和框架,而不是独立的GUI应用程序:用户通过其C API或众多语言绑定之一进行集成。
评论
0 评分人数达到10人后显示
登录后参与讨论。