【问题标题】:Objective C - Protect Framework codeObjective C - 保护框架代码
【发布时间】:2012-10-24 00:06:27
【问题描述】:

我必须向其他人展示我正在从事的项目,但我想保护项目中的框架不被阅读。我只是将框架中的所有代码打包并添加到项目中。

问题在于,当框架调用一些委托方法并且我为这些 Xcode 设置断点时,会显示这些调用来自的完整 .m / .mm 文件。我怎样才能防止这种情况?我想保护我的代码。

【问题讨论】:

    标签: objective-c frameworks breakpoints source-code-protection


    【解决方案1】:

    您看到的只是代码,因为它在您的机器上可用并且 Spotlight 可以找到它。如果您分发已编译的框架二进制文件,则源代码不会显示在调试器中,但方法名称会显示。剥离二进制文件(“剥离链接产品”)将删除一些函数名称,但不会删除方法名称,因为这些名称必须在运行时可用才能使消息分发起作用。这将使使用崩溃日志变得更加困难,因此除非您确实需要节省空间,否则我通常不推荐它。

    请记住,您可以(或应该)采取的措施来防止逆向工程。所有语言都受到逆向工程的影响,但 ObjC 本质上特别容易受到影响。有关更多讨论,请参阅Decompiling Objective-C libraries

    【讨论】:

    • 非常感谢!我有点震惊,它是可读的,但很高兴知道聚光灯找到了它。我知道逆向工程很容易,但至少现在不可读;)
    【解决方案2】:

    将您的框架编译成二进制文件。这将“保护”源代码不被读取,只公开头文件(您选择)。

    【讨论】:

    • 我确实编译过它。我觉得上面的答案是对的。
    • 这基本上就是我所说的,但没关系。
    • 但我不知道 Spotlight 会找到源文件 - 无论如何感谢您的帮助 ;)
    猜你喜欢
    • 2019-08-21
    • 2015-05-03
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多