在运行时dynamic下载和执行iOS代码
作为一个学术和心理练习,如何下载一个预编译的二进制文件并在iOS设备上执行其中的方法?
我知道这违反了苹果的许可协议,第3.2.2节,但我要求个人项目,并了解更多关于iOS运行时。
目标
- 下载http://someexample.com/MyCoolBinary.a
- 保存下载的二进制文件到设备盘
- 调用二进制中存在的已知方法。
我试过了
我没有尝试过任何具体的东西,但是我会想象有可能沿着…的方向做一些事情。
void *myDownloadedLibrary = dlopen("/path/to/newly/downloaded/framework/MyCoolBinary.framework") dlsym(myDownloadedLibrary)
任何例子或指针什么样的图书馆这将与工作将不胜感激。
谢谢。
尝试类似
void *uikit = dlopen("path_to_dylib", RTLD_LAZY); id (*FunctionName)(id) = dlsym(uikit, "FunctionName"); FunctionName(arg1); dlclose(uikit);