我需要将 mach-o 二进制文件中的函数引用更改为我自己的 dylib 中定义的自定义函数。我现在遵循的过程是,
将对旧函数的引用替换为新函数。例如
_fopen
使用_mopen
sed。我在MachOView中打开 mach-o 二进制文件以查找我想要更改的实体的地址。然后我使用十六进制编辑器手动更改二进制文件中的信息。
有没有一种方法可以使这个过程自动化,即编写一个程序来读取符号和动态加载信息,然后在可执行文件中更改它们。我正在查看 mach-o 头文件,/usr/include/mach-o
但不完全确定如何使用它们来获取此信息。是否存在任何库 - C 或 python 可以帮助做同样的事情?