当前位置: 首页 > 软件库 > 开发工具 > 反编译工具 >

Capstone

反汇编框架
授权协议 BSD
开发语言 C/C++
所属分类 开发工具、 反编译工具
软件类型 开源软件
地区 不详
投 递 者 谭昕
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Capstone是一个轻量级的多平台、多架构的反汇编框架。Capstone 旨在成为安全社区中二进制分析和反汇编的终极反汇编引擎。

  • 多体系结构。Arm, Arm64 (Armv8), BPF, Ethereum Virtual Machine, M68K, M680X, Mips, MOS65XX, PowerPC, RISCV, Sparc, SystemZ, TMS320C64X, Web Assembly, XCore & X86(包括X86_64)(详情)。
  • 清洁/简单/轻量级/直观的架构中立的API。
  • 提供反汇编指令的细节(有些人称之为 "分解器")。
  • 提供分解指令的一些语义,如隐含寄存器的读写列表。
  • 用纯C语言实现,与D、Clojure、F#、Common Lisp、Visual Basic、PHP、PowerShell、Haskell、Perl、Python、Ruby、C#、NodeJS、Java、GO、C++、OCaml、Lua、Rust、Delphi、Free Pascal & Vala的绑定可用。
  • 本地支持Windows和*nix(已确认支持Mac OSX、iOS、Android、Linux、*BSD和Solaris)。
  • 线程安全的设计。
  • 特别支持嵌入到固件或操作系统内核中。
  • 高性能,适合恶意软件分析(能够处理各种X86恶意软件的技巧)。
  • 最近在研究一些用于进行逆向工程的框架:Chain of Fundamental Engines for Reverse Engineering: Capstone, Keystone, Unicorn, Qemu, Qiling。这些工具在某些场合中能够很好的帮助我们进行逆向工作。 汇编与反汇编 Capstone 新加坡南洋理工大学团队在 Blackhat USA 2014 上发布的一个反汇编引擎

  • 最进在研究反汇编引擎,在google看到capstone反汇编工具,据说是IDA都使用了capstone的引擎,记录一下; capstone 官方网站:http://www.capstone-engine.org/ github源码下载:https://github.com/aquynh/capstone capstone在架构兼容性上来说是非常丰富了:Multi-architectures: A

 相关资料
  • 说实话绝影就等着张厂长把他的研究成果公布出来,这样才能当场找出其中的纰漏并当场将他驳回。你想我绝影做到这里能弄出个反汇编器来,已经是突破性进展了,张厂长还能比我牛? 于是他平静地说:"说来听听,看看你有啥好法子。" 张厂长哪里知道绝影心里的算盘,他还是和平时一样一本正经严肃认真一丝不苟地说道:"这几天我去他们车间调研了,其实开始我们都想复杂了。他们的芯片和主机通过穿口通信,类似于一问一答……" "

  • 问题内容: 是否有任何Linux程序可以反汇编OSX通用x86 / x86_64胖Mach-O二进制文件,如objdump?GNU binutils的objdump支持ELF和Windows PE文件,但不支持Mach-O。 问题答案: AFAIK,本地的Darwin二进制工具是cctools软件包的一部分。它们没有与GNU binutils 相同的命令行语法或输出。但是后来的binutils(即

  • 上一节我们介绍了IDA,这里我们介绍另一款反汇编工具:Hopper,它有OS X和Linux版本,能够反汇编32/64位Mac,Linux,Windows和iOS可执行文件。 Hopper Disassembler v3 - Personal License版本在中国售价 ¥580.01相对于IDA来说相当便宜。 本文我们将使用是demo版本,可以从这里下载。 下载完成之后,解压安装。 反汇编举例

  • IDA是一个非常强大的反汇编和调试工具,支持Windows,Linux, Mac OS X平台,它支持太多的功能了,以至于其作者都不能在官方网站上对其进行详细的描述。 正式版本是需要收费的,正因为其功能强大,收费也非常贵。不过,它有试用版本可以下载,从这找到IDA demo download,选择下载IDA Demo 6.5 for Mac。 下载之后解压并运行,出现如下的示意图: 过几秒会马上提

  • 问题内容: 有什么方法可以对Java即时编译器生成的本机代码进行汇编转储吗? 和一个相关的问题:是否有任何方法可以使用JIT编译器而无需运行JVM将我的代码编译为本地机器代码? 问题答案: 是的,有一种方法可以打印生成的本机代码(需要OpenJDK 7)。 不,无法使用JDK的JIT将Java字节码编译为本地代码并将其另存为本地可执行文件。 即使这是可能的,它也可能没有您想象的有用。JVM进行了一

  • Solidity 定义了一种汇编语言,在没有 Solidity 的情况下也可以使用。这种汇编语言也可以嵌入到 Solidity 源代码中当作“内联汇编”使用。 我们从如何使用内联汇编开始,介绍它如何区别于独立汇编语言,然后详细讲述这种汇编语言。 内联汇编 为了实现更细粒度的控制,尤其是为了通过编写库来增强语言,可以利用接近虚拟机的语言将内联汇编与 Solidity 语句结合在一起使用。 由于 EV