编辑android可执行文件

时间:2014-04-10 22:47:39

标签: android linux

我有android可执行文件,它们正好是ELF 32位LSB可执行文件,ARM,版本1(SYSV),静态链接,剥离。我想编辑它们。当我用notepad ++打开它们时,我找到了单词(不是代码)。然后我编辑这些单词并保存。它不再起作用了。当它被执行时,返回分段错误。解散他们对我没有帮助。问题是如何编辑这些单词。

这些是文件:https://www.mediafire.com/folder/tok8427bchex2/binary

我只想编辑所有" mgyun"到" aungthiha"。

提前致谢。

1 个答案:

答案 0 :(得分:1)

假设使用记事本++打开和保存二进制文件(可执行文件)的过程本身不会以某种方式影响二进制文件,那么您的问题可能在于" aungthiha"超过" mgyun"。

二进制文件包含要执行的低级代码。此代码可能包含对条件的其他部分的跳转,例如条件,循环和子例程。目标位置是硬编码的,因此如果在二进制文件中插入一个额外的字符,一些跳转将指向错误的位置(因为正确的位置现在是偏移的),这可能导致二进制文件不起作用。

如果你改变了" mgyun"你可能会成功。对于长度相同的东西,如" 12345"因为它不会改变其他任何东西。

有关详情,请参阅此帖子:http://everydaywithlinux.blogspot.com/2012/11/patch-strings-in-binary-files-with-sed.html

  

当然,这种方法有一些警告。最重要的一个   是你不能用一个更长的字符串替换字符串   原来的。虽然更短也没关系。