我正在对没有源代码的二进制可执行文件进行一些反向工程。在Windows上,我可以使用LoadLibrary加载可执行文件(EXE),就像加载DLL文件一样。如果加载的文件不可重定位,我可以简单地重定位我的加载器代码以“为其他模块腾出空间”。当我加载了二进制文件后,我可以调用它的函数(假设我知道它们在哪里),并进行其他操作。
在Mac上是否有类似的方法?我有一个mach-o可执行文件,我想将其作为动态库(DYLIB)加载。或者有没有将可执行文件转换为DYLIB的方法?可执行文件和DYLIB之间的真正区别是什么?