1.系统打印不应该在正式环境下打印,避免逆向人员拿到ipa文件砸壳后,能直接看到打印信息,
解决办法:将NSLog()打印方法替换成仅在debug模式下能打印的自定义宏
2.禁用HTTP请求协议,采用HTTPS,可以有效的防HTTP抓包。HTTP能够轻易的被窃听,而HTTPS是一种加密流量的协议,相对安全很多,即使HTTPS比HTTP要安全,但依然无法阻止逆向人员。
3.对于逆向工程师来说,要分析一个app,首先是砸壳,利用hopper 这样的反编译器来处理app的二进制文件。
对于这种情况,我们可以在项目工程配置里面限制二进制文件头内的段,如图位置加入语句:
-Wl,-sectcreate,__RESTRICT,__restrict,/dev/null
以上的措施其实是九牛一毛,大多数的移动安全问题还是需要后台和三方的平台来处理:
一.app所有的数据都需要加密之后传给后台,后台去解密,比如现在登陆的明文账号密码、本地保存的用户基本信息等敏感数据。
二.利用三方工具来处理代码混淆
具体混淆的地方:方法混淆、属性混淆、类名混淆、添加垃圾代码、自动创建垃圾类、删除注释、修改资源文件Hash值、加密字符串、翻新资源名、模拟人工混淆、混淆文件名、混淆文件目录、混淆词库、混淆日志、映射列表、敏感词过滤、图片压缩、爬虫服务、修改项目名、翻新项目UUID、自动备份混淆项目、自定义忽略属性、自定义忽略函数、自定义忽略类名等一系列措施来阻止。