Capstone引擎正式支持RISC-V架構
Capstone是一個支持眾多處理器架構的反彙編框架,其使用了LLVM編譯器後端讓指令匹配變得更精準,這個優勢主要體現在變長指令級(比如x86架構)上,Capstone支持主流的CPU架構包括x86, ARM( armv7/arm64),MIPS等,這為逆向工具的打造提供了更便捷的途徑,著名的開源逆向工具Radare2以及商業逆向工具IDA Pro的三方插件都基於Capstone。
RISC-V是一個開放的處理器指令級,但並不代表基於RISC-V硬件外設的固件是自由並且可審計的,也就是說RISC-V硬件廠商只提供二進制blob固件的情況下要打造純自由的固件就必須通過逆向工程完成,在遭遇了去年HiFive Unleashed的固件事件後HardenedLinux社區決定加速Capstone支持RISC-V的進程,2018年5月,porto703基於LowRISC的LLVM版本完成了對R V32I的支持以及RV64的部分支持。
HardenedLinux先是基於這個版本的工作但其後綜合了諸多因素(LLVM upstream的情況以及Capstone中SystemZ基於tablegen的代碼生成等)決定採用2019年2月的LLVM版本進行推進,最終正式合併到capstone-next並會在下一個正式版本發佈時進入主線。隨著更多的逆向工具更全面的支持RISC-V,相信未來x86的固件不可審計的問題在RISC-V上會一定程度得到解決。