我有一些计算算法需要发送给我的客户进行测试。我被要求阻止我的客户对算法进行逆向工程。我想我有两个选择:
- 将计算包装在 Objective-C 框架中,其中我 可以定期向我的服务器发出一些 HTTPS 请求, 框架只会在服务器允许的情况下进行计算。
- 将计算包装在 C 程序中并编译为 .a static 图书馆。这是一个普通的 C 库,所以我认为会非常困难 发出 HTTPS 请求。但我也读到C静态库更多 相对于动态框架来说很难被打破。
我知道没有 100% 的安全性,我只是想知道在安全性方面哪个选项更好?还请建议是否还有其他方法来保护框架/静态库?
最佳答案
据我了解,在这种情况下向客户交付的成果只是算法的结果(而不是算法的实际实现)。实现它的一种方法是在服务器上实现算法(使用 C、Node.js、Python 等),然后通过 HTTP/s API 公开它。然后,从您的 iOS 应用程序/框架/静态库中,通过 HTTP 请求将所需的参数作为输入传递,在服务器上执行计算并返回结果。
关于iOS 代码保护 - C 静态库还是 Objective-C 框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55443193/