2011-09-29 49 views
0

我有一个ARM二进制文件,并希望更改一些文本。 我从评论中删除了几个文字符号。ARM二进制和hexedit

但二进制文件将无法启动,用日志:

link_image [1710]:3013缺少必要的表不能链接EXECUTABLE

是否有人有一个想法如何编辑ARM二进制文件?

+8

如果您想继续获得帮助,回过头来接受以前问题的一些答案可能会有所帮助。另外,你应该用你的代码编辑你的问题,并且运行什么命令来启动你的代码。 – brc

回答

2

我删除了几个文字符号

停在那儿的。如果我正在阅读您正确写入的内容,则删除了一些字符,而不是用其他字符替换它们。

这将移动整个文件的其余部分。但是二进制文件通常有指向文件其他部分的表或偏移量。移动文件的内容,即使是单个字节,也意味着这些表格或偏移不再指向它们应该在的位置。之后,试图读取文件的代码被正确地混淆了。

编辑二进制文件时,除非您知道自己在做什么,否则不得移动内容。如果您正在编辑文本,您的更改不得更改文本的大小。如果新文字较小,则必须填充它以保持相同的尺寸;如果新文字较大,则不适合,并且您必须找到较短的文字。

当然,这里假定文件格式没有校验和来注意改变,或者你知道如何重新计算它们。

此外,请确保您使用的是正确的编辑器。普通文本编辑器可以静静地添加,删除或替换字符,这可能会破坏文件,可能难以检测。