【问题标题】:Download and execute iOS code dynamically at runtime在运行时动态下载和执行 iOS 代码
【发布时间】:2014-04-20 21:43:33
【问题描述】:

作为一项学术和脑力练习,如何在 iOS 设备上下载预编译的二进制文件并执行其中的方法?

我了解这违反了 Apple 的许可协议第 3.2.2 节,但我要求提供个人项目并了解有关 iOS 运行时的更多信息。

目标

我的尝试

我没有尝试任何具体的东西,但我想可以按照...的方式做一些事情

void *myDownloadedLibrary = dlopen("/path/to/newly/downloaded/framework/MyCoolBinary.framework")
dlsym(myDownloadedLibrary)

任何关于这将使用哪种库的示例或指针将不胜感激。
谢谢。

【问题讨论】:

    标签: ios frameworks dynamic-linking


    【解决方案1】:

    试试类似的东西

    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

    【讨论】:

    • 这有效吗?带有这种代码的应用会被批准吗?
    猜你喜欢
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多