避免在iOS应用程序上进行反向工程,这是可能的

Avoiding reverse engineering on iOS apps, is it possible?

本文关键字:iOS 应用 应用程序 程序上      更新时间:2023-10-16

可能的重复:
保护可执行文件免受反向工程的影响?

作为主要目标,我想加密有关二手标头文件和库的信息

在大多数情况下,我的应用程序仅使用iOS SDK

的标准I/O方法写入C 。

App Store已将应用程序的可执行文件(或大部分)加密,然后将其发送到用户的设备。iOS内核解密文件的加密部分,在内存中,当它启动您的应用时。

由于Objective-C加载动态库(例如Uikit和Foundation),并在运行时通过名称查找方法选择器时,按名称查找类,这些类和选择器字符串必须出现在您的可执行文件中,但它们在加密中文件的一部分。

越狱者可以通过检查内核解密后检查应用程序的内存来击败iOS加密系统。

花更多的时间试图隐藏这些字符串,几乎可以肯定是浪费时间。

更新

如果您的目标市场位于越狱很普遍的世界的一部分,则您可能想寻找使用服务器后端的应用程序想法,并使用应用程序内购买将服务器访问作为可见的物品出售服务器访问。您的服务器可以验证用户为服务器访问付费的付款,并且您可以禁止尝试窃取访问的帐户。

obfuscation本质上是有缺陷的 - 根据定义,它必须始终附带用于将应用程序还原为原始形式的代码。

熟练的攻击者(如果有人试图反向工程师,这是您将要处理的)。