在拆卸恶意软件二进制文件时,我遇到了几组短裤。每个数组的大小为 1024 个成员。我想将它们导出到 C 样式数组,如:
short array1[1024] = { 2, 5, 8, ... , 4}; /* This is just an example */
我绝对可以手动复制/粘贴并编辑整个内容。然而,这似乎很乏味。我想知道,有没有更好的方法来实现它?可以用脚本/插件来完成吗?
在拆卸恶意软件二进制文件时,我遇到了几组短裤。每个数组的大小为 1024 个成员。我想将它们导出到 C 样式数组,如:
short array1[1024] = { 2, 5, 8, ... , 4}; /* This is just an example */
我绝对可以手动复制/粘贴并编辑整个内容。然而,这似乎很乏味。我想知道,有没有更好的方法来实现它?可以用脚本/插件来完成吗?
一个小脚本就可以解决问题。在 IDC 中,类似于:
auto ea, len, i;
len = 1024;
ea = /* whatever */;
Message("short array[1024] = {\n ");
for(i = 0; i < len; i = i + 1)
{
Message("0x%.04lx", Word(ea+i*2));
if( i != (len - 1) )
Message(",");
if(i > 0 && (i % 0x1f) == 0)
Message("\n ");
}
Message("};\n\n");
To Handle Bytes instead of Words
Replace
`Word(...)` with `Byte(...)`
and
`0x%.04lx` with `0x%.02lx`
and
Word(ea+i*2) with Byte(ea+i)
To Handle DWORDs instead of WORDs
Replace
`Word(...)` with `DWord(...)`
and
`0x%.04lx` with `0x%.08lx`
and
Word(ea+i*2) with DWord(ea+i*4)
老问题,但从 IDA 6.5 开始,有一个新的菜单选项Edit/Export data...
可以为您处理这种情况。首先选择要导出的数据,然后通过菜单选项选择保存数据的输出格式和文件名。