iOS开发(2)代码混淆

2019-03-31  本文已影响0人  迷心迷

一、基本概念

代码混淆

1、iOS程序可以通过class-dump、Hopper、IDA等获取类名、方法名、以及分析程序的执行逻辑
如果进行代码混淆,可以加大别人的分析难度

2、iOS的代码混淆方案

二、源码的混淆 - 通过宏定义混淆方法名、类名

#define BDPerson dfsfsdf
#define run fsdfsdf
#define setupName jfsdklj
#define no uhdnasf
#define age lsjsdfsdf

@interface  BDPerson : NSObject
- (void)run;
- (void)setupName:(NSString *)name no:(int)no age:(int)age;
@end

@implementation BDPerson

- (void)run {
       NSLog(@"%s", __func__);
}

- (void)setupName:(NSString *)name no:(int)no age:(int)age {
      NSLog(@"%s - %@ %d %d", __func__, name, no, age);
}

@end


注意点

建议
给需要混淆的符号加上了一个特定的前缀

三、ios-class-guard

第三方工具

用法
`
$ brew install ios-class-guard

$ ios-class-guard [options] <mach-o-file>
`

常用参数

字符串加密

这里举一个简单的例子
对每个字符进行异或(^)处理
需要使用字符串时,对异或(^)过的字符再进行一次异或(^),就可以获得原字符

上一篇 下一篇

猜你喜欢

热点阅读