iOS Guard 垃圾代码生成

垃圾代码会依据 oc mvc数量来生成 oc mvc 版本的垃圾代码,依据 swift mvc 数量来生成 swift mvc 版本的垃圾代码,
需要手动将将生成的垃圾代码文件导入到ios工程中,手动插入注册垃圾代码函数,垃圾代码不会执行,只会增加代码体积,提升逆向难度。

开始处理

有需要生成的垃圾代码数量配置时,点击 “开始处理” 按钮, 工具会在导出项目路径中生成垃圾代码文件夹 IPAGuardJCCodeSources, 该文件夹中包含生成的 oc 垃圾代码 和 swift 垃圾代码
func_handle

垃圾代码功能 开/关

oc 数量 和 swift 数量默认为0, 0表示不生成垃圾代码,如果 oc 和 swift 数量都是0,表示关闭该功能

config
“类方法名词库” 是在生成垃圾代码中由这些单词随机组合为类名,方法名等名称,用户可以通过调整这些单词来改变生成的垃圾代码的名称,点击“打开”按钮可以打开名词库文件, 词库如图所示
wordLib
数量越多生成的 版本的数量越多 并且将这些垃圾代码会放入导出项目路径中的 IPAGuardJCCodeSources 文件夹中

oc 垃圾代码

oc中的垃圾代码示例,数量为3, 生成了3副垃圾代码, 目录结构(可能名称会变动,但是结构不变):
oc_junk_code_3
oc_junk_code

自定义注册使用垃圾代码

在ios项目中注册插入 oc 垃圾代码, oc 垃圾代码中使用 UseAllViewController.h/.m 文件中的 “UseAllOCViewController” 的类方法 “registerJunkCodes” 来注册垃圾代码,注册代码示例如下:

 1#import "UseAllOCViewController.h" // 引入 oc 垃圾代码头文件
 2#import "ViewController.h"
 3
 4@interface ViewController ()
 5@end
 6
 7@implementation ViewController
 8- (void)viewDidLoad {
 9    [super viewDidLoad];
10    [UseAllOCViewController registerJunkCodes]; // 注册 oc 垃圾代码
11}
12@end

swift 垃圾代码

swift 中的垃圾代码示例, 的数量为1, 生成了1副 的垃圾代码, 目录结构(可能名称会变动,但是结构不变):
swift_junk_code_3
swift_junk_code_2

2.2. 自定义注册使用垃圾代码
在ios项目中注册插入 swift 垃圾代码, swift 垃圾代码中使用 UseAllRandomViewController.swift 文件中的 “UseAllRandomViewController” 的方法 “registerJunkCodes” 来注册垃圾代码,注册代码示例如下:

1import UIKit
2
3class ViewController: UIViewController {
4    override func viewDidLoad() {
5        UseAllRandomViewController.registerJunkCodes() // 注册 swift 垃圾代码
6        super.viewDidLoad()
7    }
8}