避免在iOS应用程序上进行反向工程,这是可能的
Avoiding reverse engineering on iOS apps, is it possible?
可能的重复:
保护可执行文件免受反向工程的影响?
作为主要目标,我想加密有关二手标头文件和库的信息
在大多数情况下,我的应用程序仅使用iOS SDK
App Store已将应用程序的可执行文件(或大部分)加密,然后将其发送到用户的设备。iOS内核解密文件的加密部分,在内存中,当它启动您的应用时。
由于Objective-C加载动态库(例如Uikit和Foundation),并在运行时通过名称查找方法选择器时,按名称查找类,这些类和选择器字符串必须出现在您的可执行文件中,但它们在加密中文件的一部分。
越狱者可以通过检查内核解密后检查应用程序的内存来击败iOS加密系统。
花更多的时间试图隐藏这些字符串,几乎可以肯定是浪费时间。
更新
如果您的目标市场位于越狱很普遍的世界的一部分,则您可能想寻找使用服务器后端的应用程序想法,并使用应用程序内购买将服务器访问作为可见的物品出售服务器访问。您的服务器可以验证用户为服务器访问付费的付款,并且您可以禁止尝试窃取访问的帐户。
obfuscation本质上是有缺陷的 - 根据定义,它必须始终附带用于将应用程序还原为原始形式的代码。
熟练的攻击者(如果有人试图反向工程师,这是您将要处理的)。
相关文章:
- 在iOS应用程序中创建数据库
- 将文件从 iOS 应用程序加载到 C++ 对象中/<iostream>iOS 上的问题
- 来自另一个 IOS 应用程序的 IOS 应用程序命令
- 在iOS应用中使用Swift中的C 库
- 如何在iOS应用程序中锁定代码执行
- 避免在iOS应用程序上进行反向工程,这是可能的
- 将C++代码导入IOS应用程序
- OpenCV videoCapture 为 iOS 应用程序文档目录中的文件提供了错误的属性
- 是否需要XCode才能在Visual Studio上使用C++开发iOS应用程序
- 向iOS应用程序添加64位切片会导致崩溃
- iOS应用程序在相同的内存地址获得EXC_BAD_ACCESS,但原因不同
- 如何构建使用 OpenCV 的 XCode 6 iOS 应用程序 - 未定义错误__cplusplus
- 使用 Unity 在 iOS 应用程序上发送电子邮件时出错
- 应用商店是否允许使用带有嵌入式 dylibs 的 iOS 8 应用程序
- 如何在 Windows 平台上开发 iOS 应用程序
- 在 iOS 应用程序中解压缩 bzip2
- 使用OpenCV在ios应用程序中检测圆圈
- ios应用程序访问文件与c++
- 通知从c++到UI在iOS应用程序
- 将OpenCV添加到iOS应用程序