可视化 ARM64 指令集

主要观点:作者近期从事 ARM64 指令集工作,尝试将其可视化,通过希尔伯特曲线按指令类着色,生成了可视化内容并提供互动版本及工具。还介绍了基于 ARM64 的轻量级故障隔离(LFI)项目及相关验证器,可通过希尔伯特曲线热图可视化合法指令,其因安全限制及只支持 ARMv8.0 等原因,图片较稀疏,部分区域受限,可视化有助于验证器正确性。
关键信息:从 Arm 的机器可读架构(MRA)规范开始,生成所有唯一编码列表,处理 Arm 规范语言(ASL)中的特殊情况,用希尔伯特曲线绘制指令集,互动版本可查看指令及选择叠加层,工具在[https://github.com/zyedidia/a...],LFI 利用机器码分析进行软件沙箱,其验证器可通过希尔伯特曲线热图可视化合法指令等。
重要细节:规范有 XML 和 HTML 文件,工具解析 XML 生成编码列表等信息,处理 ASL 情况时用 Capstone disassembler 去除无效指令,互动版本用编译为 WebAssembly 的 Capstone 显示指令反汇编,LFI 因安全限制及只支持 ARMv8.0 导致图片稀疏,部分寄存器和寻址模式受限等。此可视化方法受 XKCD 对 IPv4 地址空间可视化的启发。

阅读 18
0 条评论