关于ios 防止反编译的问题

Objective-c是有反射(reflect)机制的,如同java/c#一样,反射功能的灵活与强大纵然给编程带来了巨大好处,但同时也使代码的安全带来巨大的隐患,java/c#有混淆器在一定程度上提高了代码的安全性。IPA上线时苹果进行审核,如果有Xcode支持混淆器,估计苹果是不是就没办法进行审核了
想咨询下大家如何提高反汇编门槛,已经app store上线的程序,苹果采取DRM进行保护,这样直接使用反汇编工具IDA是提示文件加密的,但现在DRM不堪一击。
问题1:如果ipa不上线,怎么给ipa提供类似DRM保护?
问题2:DRM是可以破解的,大家是如何反汇编后,降低程序的可读性?定义一些字符串,经过一定的算法得到真实的函数名?这样只是用与局部的几个函数,对于一个ios项目工作量是不是太大或者说不适用,这样的代码可读性太差,不好维护
问题3:真的没有oc的源码混淆器,或者说苹果审核后,是不是该它提供混淆这个功能维护开发者源代码。

  作为开发者,我主要是想维护源代码,如果大家来破解我很开心,那说明这个应用还算成功,所以不防止破解,只是保护源代码,希望大家站在攻防的角度,多提建议!

关键代码进行处理,保护。这样也有利于维护。

有一些商业工具是提供objc的混淆的,但是会以增大代码数量(延长编译时间),甚至增大应用体积为代价

除此之外一般就是把核心逻辑尽量放在c层

能推荐几个商业混淆oc的工具吗?

目前来看:一是将涉及业务的代码用别的语言实现,二,将业务交给后台服务器;

用宏替换也是一个方法,把关键方法名字混淆

对于整个项目,宏定义有点太费劲了

同样有需求。

我听说过一款,但是具体也没仔细评估过。为了避免做广告的嫌疑,私信问我好了

关于网络请求那块,一般都是怎么防护的呀?

数据加密,服务器解析

一般对各个参数进行签名验证,对核心参数进行加密,而且防止别人进行重放攻击,一般都会将时间戳做为一个参数

pch 维护一个宏列表,然后开发阶段就把宏注释了,然后编译的时候把注释取消