RE OpenCL 内核的工具

逆向工程 拆卸 工具 amd64 图形
2021-07-09 03:40:24

我有一个 OpenCL 2.0 程序,其中.bin包含我想反转的各种文件。 file显示:

$> file k.bin
k.bin: ELF 64-bit LSB executable, *unknown arch 0x40c* version 1 (SYSV),
corrupted program header size, not stripped. 

我相信这些文件是 OpenCL 内核文件。在 中打开文件vim显示了许多 OpenCL 参考。在二进制 blob 的末尾有像这样的纯文本属性:

uniqueid:1038
;memory:uavprivate:0
;memory:datareqd

目前最好的反汇编这些二进制文件的方法是什么?

1个回答

您可以使用cuobjdumpnvdisasm、 或nvprune三个 CUDA 二进制工具。您可以在此页面上找到有关如何使用它的完整说明

另请参阅SO (Disassemble an OpenCL kernel?) 中的这个问题