如何修改二进制(Mach-O)文件的字符串?

时间:2009-12-18 09:07:46

标签: executable mach-o

有没有办法(轻松)修改Mach-O二进制文件中的字符串?我想延长预先存在的字符串的长度。

2 个答案:

答案 0 :(得分:0)

https://sourceforge.net/projects/machoview

使用手动编辑扩展字符串不是一件容易的事,但至少可以得到有关Mach-O文件结构的图片。

答案 1 :(得分:0)

这不是一个简单的过程,你不能只是去改变textedit中的字符串并希望它工作,因为mach-o二进制文件使用编码字节,如果1个字节乱序,二进制文件将无法正常执行。如果您真的希望在完全组装的mach-o二进制文件中修改字符串而不破坏其精细代码,那么您将需要大量的知识并理解Mach二进制文件的工作原理。您需要能够以单个字节修改它并替换其编码的数字和偏移量。 Mac的Hopper可能能够帮助您理解mach-o二进制文件的体系结构。但是如果你需要用一个完全相同长度的不同字符串替换一个字符串,你可能只需要替换它的字节,这样二进制文件仍然可以以相同的长度读取它。但是你需要一个十六进制修改应用程序才能做到这一点。