重新创建 Cantor.dust 的 2D 方面

逆向工程 二元分析
2021-07-01 09:10:38

我正在尝试重新创建在 cantor.dust 中展示的一些 2D 功能,我想知道是否有人知道他们如何将一个大文件(可执行文件)转换为许多不同的图像/一个显示不同模式的大图像基于文件不同位置的内容

链接到 cantor.dust 帖子

目前我已经根据文件的十六进制转储创建了单个 256x256 位图,这些文件符合 cantor.dust Derbycon 演示文稿中显示的相同模式,但我不确定如何将一个大文件制作成几个位图,以显示不同部分的模式文件,例如包含一些 ascii 文本的可执行文件将具有看起来像可执行文件的部分和看起来像 ascii 文本的其他部分(通过在 cantor.dust [2D] 中演示的模式)

ASCII码

任何帮助,将不胜感激

1个回答

最近在Binwalk 中添加了三维可视化

我的实现相当简陋:文件中的每三个字节被视为 3D 平面中数据点的 x、y、z 坐标,其中每个轴从 0 延伸到 255。这意味着如果文件包含包含一定范围的字节值(例如,可打印的 ASCII 字符),这些字节将在 3D 绘图的相同一般区域中生成坐标。

这是 AVR32 代码的样子:

AVR32 代码的可视化

为此,请使用--3D选项:

$ binwalk --3D yourfile.exe