作为学术和心理练习,如何在iOS设备上下载预编译的二进制文件并在其中执行方法?
我理解这违反了Apple的许可协议第3.2.2节,但我要求提供个人项目并了解有关iOS运行时的更多信息。
目标
我尝试了什么
我没有尝试任何具体的东西,但我想可以按照......的方式做一些事情。
void *myDownloadedLibrary = dlopen("/path/to/newly/downloaded/framework/MyCoolBinary.framework")
dlsym(myDownloadedLibrary)
任何关于这将与哪种图书馆合作的例子或指示都将受到赞赏 感谢。
答案 0 :(得分:3)
尝试类似
的内容void *uikit = dlopen("path_to_dylib", RTLD_LAZY);
id (*FunctionName)(id) = dlsym(uikit, "FunctionName");
FunctionName(arg1);
dlclose(uikit);
有关详细信息,请在此处阅读有关动态加载的信息: http://en.wikipedia.org/wiki/Dynamic_loading