我正在反编译用 Pascal 或 Delphi 编写的 DOS .exe。查看反编译的代码时,似乎有许多字符串以00
. 例子:
06 53 54 52 49 4E 47 00 00 00 STRING
07 41 4E 4F 54 48 45 52 00 00 ANOTHER
08 4C 41 53 54 7F 4F 4E 45 00 LAST ONE
前导数字是字符串的长度,使用 Pascal 约定。如果我要运行 .exe,这些字符串会出现在列表中。因此,我假设字符串的组织应该是某种列表。
我的问题是这些:
Ghidra 有没有办法将这些字符串放入一个数组中,每个元素一个字符串?当我点击
[
它时,它尝试仅根据字符串的长度和第一个字符串的字符来构建数组,并忽略00
.为什么代码是这样编译的。似乎通过添加填充字节来增加文件的大小,并且我在反编译文件中看到了这些类型的列表。