有没有办法合并两个MachO

需求: 有没办法将两个MachO合并成一个

不是不同架构的MachO,而是完全没有关系的两个MachO,不考虑符号冲突的情况

如果能解决符号冲突的问题最好了 :stuck_out_tongue_closed_eyes:

太复杂了。

理论上可以做到,但是要处理的细节太多了是吗?
不考虑符号冲突细节也很多吗?
是因为要算各种偏移吗?

#define MH_OBJECT   0x1    
#define MH_EXECUTE  0x2   
#define MH_FVMLIB   0x3   
#define MH_CORE     0x4    
#define MH_PRELOAD  0x5  
#define MH_DYLIB    0x6     
#define MH_DYLINKER 0x7    
#define MH_BUNDLE   0x8     
#define MH_DYLIB_STUB  
#define MH_DSYM     0xa  
#define MH_KEXT_BUNDLE  0xb 

这些都是MachO,相同却又不同。能组合出好多组合。
如果你指的是应用程序的MachO,是可以合并的,之前坛子里有人发过,把MachO做成一个dylib,然后注入到另外的应用里,然后就可以动态调用了。windows平台也有人把exe给搞成dll。道理类似,需要实践。

http://blog.imjun.net/posts/convert-iOS-app-to-dynamic-library/

把第三方 iOS 应用转成动态库

一个是应用程序的MachO 其他的都是Framework 最终目的是把MachO和Framework合并到一起

如果不行,就把所有的Framework合并到一起

并不是做成动态库,而是将两个合并成一个

他们都理解错了:sweat_smile:

我想问问怎么把砸壳后的framework拿来自己用