gpt4 book ai didi

iPhone/iPad 应用程序代码混淆 - 有可能吗?值得?

转载 作者:行者123 更新时间:2023-12-03 18:09:11 26 4
gpt4 key购买 nike

我已经研究了很多,无论是在 SO 上还是在谷歌上到处搜索,但我似乎找不到关于用以下语言编写的 iPhone/iPad 应用程序代码混淆的直接答案Objective-C。

我的问题是:

  1. 有办法做到吗?如果是这样,怎么办?
  2. 值得吗?
  3. 当应用程序提交给他们时,Apple 是否允许这样做,或者对此有疑问吗?

最佳答案

似乎没有针对 Objective-C 的代码混淆器。但让我们暂时假设一个确实存在。

只要混淆的应用程序不崩溃,Apple 可能不会拒绝它。主要问题是:混淆的意义是什么?通常,您希望混淆代码以保护您的知识,例如,如果您的程序使用复制保护,您希望让潜在的破解者变得更难,或者如果您正在使用某些高级算法,您不希望商业竞争对手成为您的竞争对手。能够反编译它。

iOS 上已经考虑了复制保护。尽管通过越狱可以复制并运行普通应用程序,但我想说,执行此操作的实际用户数量相当低(至少比 PC 和 Mac 等“常规”计算机上的用户少很多)。您是否认为盗版是一个需要混淆的大问题?

如果您确实有重要的知识需要保护,那么混淆可能是值得的。混淆有其缺点:您无法再调试混淆的应用程序。崩溃报告将毫无用处。

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

回到事实,似乎没有混淆器:你可以做的是这个技巧:假设你有一个像这样的标题:

@interface MyClass : NSObject {
}

- (void)myMethod;

你可以像这样进行廉价的混淆:

#ifndef DEBUG
#define MyClass aqwe
#define myMethod oikl
#endif

@interface MyClass : NSObject {
}

- (void)myMethod;

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

关于iPhone/iPad 应用程序代码混淆 - 有可能吗?值得?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5556849/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com