Ril*_*eyE 4 shared-objects ios
我已经获得了一个共享对象文件(.so)及其中的函数,但我不知道如何使用它,或者改变它以便在iOS应用程序中使用.有人能指出我正确的方向吗?
我知道.so来自一个Android应用程序,但我被告知我可以让它在iOS应用程序中工作.
小智 7
实际上和技术上,是的,你可以,但不是你想象的方式.
如果它来自Android,它可能是为ARM编译的.因此它应该与iOS设备中的ARM CPU二进制兼容.但是,iOS不使用通常的共享对象格式(即ELF格式),而是使用iOS和OS X自己的Mach-O格式.
这意味着您无法直接链接此共享对象文件,也无法将其直接传递给dlopen()和dlsym().你必须进入严重的黑客行为(你可能不知道的事情).这涉及正确加载和重新定位文件.
iOS jailbreak开发人员和黑客,Comex的GitHub存储库Frash,一个用于越狱iOS设备的Flash播放器,可以找到这方面的一个例子.Comex基本上为iOS编写了一个ELF加载器模块(被称为"食物")并用它来制作Android的libflashplayer.so在iOS上工作.挺整洁的,对吧?
另请注意,AppStore应用程序无法实现这一点,因为它需要动态加载和操作系统中的各种更改.
| 归档时间: |
|
| 查看次数: |
3979 次 |
| 最近记录: |