当前位置: 首页 > 科技观察

Capstone引擎正式支持RISC-V架构

时间:2023-03-12 18:04:20 科技观察

Capstone是一个支持多种处理器架构的反汇编框架。它使用LLVM编译器的后端来使指令匹配更加精确。这种优势主要体现在变长指令层面(如x86架构),Capstone支持包括x86、ARM(armv7/arm64)、MIPS等主流CPU架构,为逆向创建提供了更便捷的途径工具。著名的开源逆向工具Radare2和商用逆向工具IDAPro的第三方插件都是基于Capstone。RISC-V是一个开放的处理器指令级别,但并不意味着基于RISC-V硬件外设的固件是免费和可审计的,也就是说RISC-V硬件厂商只提供二进制blob固件来构建纯免费固件必须通过逆向工程完成。去年HiFiveUnleashed固件事件后,HardenedLinux社区决定加快Capstone支持RISC-V的进程。2018年5月,porto703基于LowRISC的LLVM版本完成了对RV32I的支持。以及对RV64的部分支持。HardenedLinux最初是基于这个版本的工作,后来综合了很多因素(LLVM上游的情况和Capstone中SystemZ基于tablegen的代码生成等)决定使用2019年2月的LLVM版本进行推进,最后正式合并到capstone-next,下一个正式版本发布时会进入主线。随着越来越多的逆向工具对RISC-V的支持越来越全面,相信未来x86固件不可审计的问题会在RISC-V上得到一定程度的解决。