iPhoneiPad应用程序代码混淆 – 这是可能吗?值得?

iPhoneiPad应用程序代码混淆 – 这是可能吗?值得?,第1张

概述我已经研究了很多,不管是在SO,还是google的所有地方,但我似乎找不到一个直截了当的代码混淆在iPhone / iPad应用程序编写的Objective-C 。 我的问题是这些: >有办法吗?如果是,如何? >它值得吗? >当苹果允许它,或有一个问题,当应用程序提交给他们? Objective-C似乎没有代码混淆器。但让我们假设有一个确实存在。 苹果可能不会拒绝模糊的应用程序,只要它不崩溃。主 我已经研究了很多,不管是在SO,还是Google的所有地方,但我似乎找不到一个直截了当的代码混淆在iPhone / iPad应用程序编写的Objective-C 。

我的问题是这些:

>有办法吗?如果是,如何?
>它值得吗?
>当苹果允许它,或有一个问题,当应用程序提交给他们?

解决方法 Objective-C似乎没有代码混淆器。但让我们假设有一个确实存在。

苹果可能不会拒绝模糊的应用程序,只要它不崩溃。主要问题是:混淆的意义是什么?通常,你想模糊代码来保护你的知识,例如,如果你的程序使用一个副本保护你想使它更难以为一个潜在的破解者,或者如果你使用一些高级算法,你不想让业务竞争对手能够反编译它。

复制保护已经在iOS上照顾。虽然通过越狱可以复制和运行一个正常的应用程序,我会说,这样做的用户的实际数量相当低(至少比“普通”电脑,如PC和Mac低得多)。你期望海盗这么大的问题,你需要模糊?

如果你有重要的知识来保护,那么混淆可能是值得的。混淆有它的缺点:你不能调试你的模糊的应用程序了。崩溃报告将是无用的。

您可能还想阅读文章Obfuscating Cocoa。

回到事实上,似乎没有一个obfuscator:你能做的是这个伎俩:说你有一个标题这样:

@interface MyClass : NSObject {}- (voID)myMethod;

你可以这样做一个便宜的混淆:

#ifndef DEBUG#define MyClass aqwe#define myMethod oikl#endif@interface MyClass : NSObject {}- (voID)myMethod;

这样,您仍然可以在源代码中使用有意义的符号,但是编译器在不编译调试时会将其转换为“垃圾”。

总结

以上是内存溢出为你收集整理的iPhone/iPad应用程序代码混淆 – 这是可能吗?值得?全部内容,希望文章能够帮你解决iPhone/iPad应用程序代码混淆 – 这是可能吗?值得?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1087918.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存