最近第三方测试机构给了一份测试报告。罗罗列列的给了将近有20条的问题。
我就选出其中两条给大家说一下解决办法。
1:代码混淆
为什么要搞代码混淆:就是把关键函数混淆,如果有反编译的工具,编译出来之后,看不到主要函数的名字。保证程序安全,当然就要搞混淆了。
推荐一个比较笨的方法:宏定义
我们在工程里创建一个.pch文件。
关于这个文件,大家都知道。在整个app中他贯通整个程序。就是宏吗!!!
1:创建一个.pch文件(关于配置pch文件的方法自行搜索)
2:创建一个头部文件。命名为Fuscation.h(注意)
3:在pch文件中引入
#import "Fuscation.h"
4:使用
这次在混淆的时候,主要把登陆、注册、关键的一些函数都给混淆了
比如我们的登陆函数叫做
- (void)loginRequest:(NSString *)Name {}
这个时候我们要对这个函数混淆,我们只需要在我们刚刚创建的“Fuscation.h”头文件里只需要写上下面的函数
#define loginRequest eqxvXUDIReajGjoF
NOTICE: loginRequest后面的一些字符,就是我们要给他混淆的结果。这个结果,我们可以对他MD5、或者你乱写都没问题。
如果你搞得没错,这时候看看你的函数名字都已经变色了。
有的时候可能函数有多个参数如下
-(void)chengUserName:(NSString *)names withPwd:(NSString *)pwd {}
我们混淆的时候可以在“Fuscation.h”这样写:
#define chengUserName YwJTjEspxeLAPlbq
#define withPwd IyJapptwJNuhKrnO
如有问题可添加我的QQ:1290925041
还可添加QQ群:234812704(洲洲哥学院)
欢迎各位一块学习,提高逼格!
也可以添加洲洲哥的微信公众号
更多消息
更多信iOS开发信息 请以关注洲洲哥 的微信公众号,不定期有干货推送:
这里写图片描述
网友评论
宏 作为一个预处理命令,第一他不分配内存,他只是 “引用、替换”类似的作用。
宏在编译时候就处理完了,生成的可执行文件里面再没有宏
C程序编译时将宏名替换成字符串,这个过程的过程称为“宏展开”。
在“宏展开”后,宏所定义的内容是否需要分配内存,就看宏的替换的结果了。
但这个就不算宏所占用的内存了。
总结来一句话:宏不占用内存! 不在内存中,还能扫描到吗? 亲