You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2628 lines
78 KiB
2628 lines
78 KiB
[ |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "项目配置", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "", |
|
"title" : "", |
|
"key" : "", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_project", |
|
"tips" : "必选", |
|
"required" : 1, |
|
"items" : [ |
|
{ |
|
"hidden" : 1, |
|
"defaultValue" : "en", |
|
"title" : "语言", |
|
"check" : "", |
|
"key" : "config_language", |
|
"tips" : "默认英文", |
|
"configValue" : "en", |
|
"required" : 1 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "项目根路径", |
|
"check" : "", |
|
"key" : "config_project_root_path", |
|
"tips" : "切换项目的时候记得点击菜单栏->Config->重置配置\n注意: 正常情况为xxx.xcodeproj文件夹的上一级目\n提示: 请优先选择该选项,其他内容自动匹配,不一定正确,请自己检查一遍", |
|
"configValue" : "", |
|
"required" : 1 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "xcodeproj", |
|
"check" : "(?<!\/Pods)\\.xcodeproj$", |
|
"key" : "config_project_xcodeproj_path", |
|
"tips" : "编译运行的xcodeproj,例如: confuse_test,默认第一个xx.xcodeproj\n注意:需要自行检查", |
|
"configValue" : "", |
|
"required" : 1 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "Scheme", |
|
"check" : "", |
|
"key" : "config_main_scheme_name", |
|
"tips" : "编译运行的scheme,例如: confuse_test,默认第一个\n注意:需要自行检查", |
|
"configValue" : "", |
|
"required" : 1 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "1", |
|
"title" : "Debug模式", |
|
"check" : "", |
|
"key" : "config_debug_enable", |
|
"tips" : "便于在源文件中查看修改前后对比,同时插入一些特殊注释标识便于定位bug,该模式预计将多耗时20%的时间", |
|
"configValue" : "1", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "0", |
|
"title" : "混编模式", |
|
"check" : "", |
|
"key" : "config_bridge_enable", |
|
"tips" : "该模式用于处理混编项目中swift调用oc部分,保证混淆后维持调用关系,注意:暂不支持oc调用swift", |
|
"configValue" : "0", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "Frameworks,ThirdPart,DiscardFile", |
|
"title" : "忽略路径", |
|
"check" : "", |
|
"key" : "config_discard_paths", |
|
"tips" : "每个文件(夹)逗号隔开,无需全路径,支持正则。不需要混淆的请尽可能忽略。\n注意:\n1.忽略文件不能调用混淆文件的(类、方法、属性等)\n2.Cocoapods(Pods)默认忽略\n3.cocos2d-x(cocos,extensions,external)默认忽略,如果源码的方法名或属性被改了,请加入到对应功能的黑名单中。\n提示:\n1.如果文件夹重名了,可设置父文件夹区分,例如Folder1_1\/Folder2,Folder1_2\/Folder2\n2.如果文件里面包含+等正则元字符需要加反斜杠'\\',例如:UIView\\+YJS.h", |
|
"configValue" : "Frameworks,ThirdPart,DiscardFile", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "参考项目根路径", |
|
"check" : "", |
|
"key" : "config_project_reference_path", |
|
"tips" : "读取参考项目(允许编译不通过)\n1.单词:只读取(h|m|mm|hpp|cpp|swift)文件\n2.UUID:个数约等于文件个数,最好多导入一些文件\n注意:参考的项目最好是未提交过的", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "proto路径", |
|
"check" : "", |
|
"key" : "config_proto_paths", |
|
"tips" : "每个文件(夹)逗号隔开,无需全路径,支持正则", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "敏感词", |
|
"check" : "", |
|
"key" : "config_sensitive_word", |
|
"tips" : "自定义敏感词汇,逗号隔开", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "版本迭代混淆", |
|
"check" : "", |
|
"key" : "config_history", |
|
"tips" : "过审后迭代更新,沿用上一次(也可以任意选择版本)混淆记录增量混淆,保持版本连续性,模拟正常开发,默认不选为全新混淆。\n注意:混淆完成后,自动保存(或者'菜单栏->记录->导出混淆记录)历史记录在项目同级目录下(confuse_history_xxx),已过包记得备份,避免丢失,建议加入源码的版本库同步管理\n优势:只要维护源码,正常开发流程,避免在已过包的混淆项目上继续开发,做到开发和混淆同步且各自独立\n建议:为了方便管理每次混淆新建一个v1.0分支同时保存confuse_history_xxx文件,下次迭代更新的时候在主分支上新建v2.0分支+指定版本记录v1.0,就能实现原代码的版本更新和混淆的版本更新同步且连续,避免在混淆后的项目上开发", |
|
"configValue" : "", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "杀病毒", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_virus_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_virus_modify", |
|
"tips" : "病毒:XCSSET Malware\n个人总结:https:\/\/www.jianshu.com\/p\/5b6894bac297", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "AAC43A", |
|
"title" : "UUID后缀", |
|
"check" : "", |
|
"key" : "config_virus_uuid_suffix", |
|
"tips" : "病毒会随机插入UUID,会带有固定后缀,例如:AB1446EEAD7A478BEEAAC43A\n支持正则扫描", |
|
"configValue" : "AAC43A", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "\/xcuserdata\/.xcassets", |
|
"title" : "脚本路径特征", |
|
"check" : "", |
|
"key" : "config_virus_path_mark", |
|
"tips" : "病毒编译前会执行一个可疑脚本,例如:confuse_test.xcodeproj\/xcuserdata\/.xcassets\n支持正则扫描", |
|
"configValue" : "\/xcuserdata\/.xcassets", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "\/xcuserdata\/.xcassets\/", |
|
"title" : "运行脚本代码标志", |
|
"check" : "", |
|
"key" : "config_virus_script_mark", |
|
"tips" : "病毒编译前会执行一个可疑脚本代码,例如:\n# This output is used by Xcode outputs to avoid re-running this script phase.\n\"${PROJECT_FILE_PATH}\/xcuserdata\/.xcassets\/Asset.xcasset\" false\n\n支持正则扫描", |
|
"configValue" : "\/xcuserdata\/.xcassets\/", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "替换资源", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "", |
|
"title" : "", |
|
"key" : "", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_replace_source", |
|
"tips" : "用于混淆前有些资源要预先替换,根据名称替换", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "替换资源路径", |
|
"check" : "", |
|
"key" : "config_replace_source_path", |
|
"tips" : "用于混淆前有些资源要预先替换(默认为: 空)", |
|
"configValue" : "", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "删除注释", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"main.m", |
|
"AppDelegate.h", |
|
"AppDelegate.m", |
|
"ViewController.h", |
|
"ViewController.m" |
|
], |
|
"tips" : "#文件名(带扩展名且支持正则),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_annotation_modify.json", |
|
"configValues" : [ |
|
"main.m", |
|
"AppDelegate.h", |
|
"AppDelegate.m", |
|
"ViewController.h", |
|
"ViewController.m" |
|
] |
|
}, |
|
"key" : "config_is_annotation_modify", |
|
"tips" : "", |
|
"required" : 0, |
|
"items" : [ |
|
|
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "宏展开", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_macro.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_macro", |
|
"tips" : "展开宏定义\n提示:如果其他功能依赖此功能将无法主动关闭,需要先关闭其他关联功能\n小技巧:测试阶段,单独勾选宏展开,然后git commit,节约时间,避免重复执行此操作", |
|
"required" : 0, |
|
"items" : [ |
|
|
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "重命名图片", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"AppIcon", |
|
"LaunchImage" |
|
], |
|
"tips" : "#图片名(无扩展名),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_image_rename.json", |
|
"configValues" : [ |
|
"AppIcon", |
|
"LaunchImage" |
|
] |
|
}, |
|
"key" : "config_is_oc_image_rename", |
|
"tips" : "", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "运行拼接名称", |
|
"check" : "^(\\w|,|,)+$", |
|
"key" : "config_oc_image_rename_runtime_join", |
|
"tips" : "用于运行时通过字符串拼接生成的图片名,多个逗号隔开。\n例如:'number,tab_',代码中[NSString stringWithFormat:@\"number%d\", i]、[NSString stringWithFormat:@\"tab_%d_hight\", i]对应的number、tab_会被修改\n支持版本迭代混淆", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "0", |
|
"title" : "重命名关联字符串", |
|
"check" : "", |
|
"key" : "config_oc_image_rename_string_modify_enable", |
|
"tips" : "用于修改字符串与图片名相等的情况,有一定风险,自己看情况使用", |
|
"configValue" : "0", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "4", |
|
"title" : "指定忽略长度", |
|
"check" : "^([4-9]|[1][0-9]{0,1})$", |
|
"key" : "config_oc_image_rename_ignore_length", |
|
"tips" : "图片名长度小于指定长度为危险名称,将忽略,取值范围(4~19),默认4,注意:一个汉字长度为3", |
|
"configValue" : "4", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "0", |
|
"title" : "忽略危险", |
|
"check" : "", |
|
"key" : "config_oc_image_rename_ignore_danger_enable", |
|
"tips" : "与字典key同名,将忽略", |
|
"configValue" : "0", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "关联文件", |
|
"check" : "", |
|
"key" : "config_oc_image_rename_associated_paths", |
|
"tips" : "其他包含图片名的文件,每个文件(夹)逗号隔开,无需全路径,支持正则", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_image_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "插入图片", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"scrollViewDidScroll:" |
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名(参考@selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_image_inject.json", |
|
"configValues" : [ |
|
"scrollViewDidScroll:" |
|
] |
|
}, |
|
"key" : "config_is_oc_image_inject", |
|
"tips" : "源码中自动调用图片,小技巧:可多次执行\n支持部分版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "插入路径", |
|
"check" : "^.*\\.xcassets$", |
|
"key" : "config_oc_image_inject_path", |
|
"tips" : "注意: 只能是xcassets文件夹, 建议项目中用到的图片全部放到xcassets文件夹", |
|
"configValue" : "", |
|
"required" : 1 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "50", |
|
"title" : "插入数量", |
|
"check" : "^[1-9][0-9]$", |
|
"key" : "config_oc_image_inject_count", |
|
"tips" : "10~99", |
|
"configValue" : "50", |
|
"required" : 1 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "重命名属性", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、属性名,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_property_rename.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_oc_property_rename", |
|
"tips" : "注意:\nkvc、kvo,扫描结果见预检查日志,处理方式:对应属性手动加入黑名单,或者移除该功能,扫描结果见预检查日志\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "Model后缀", |
|
"check" : "^(\\w|,|,)+$", |
|
"key" : "config_oc_property_rename_model_suffix", |
|
"tips" : "作用:利用类名后缀(支持正则),批量过滤包含属性的类\n例如: 'Model,_M'将过滤类UserModel、User_M等\n目的: 避免Model字段不匹配后台数据\n提示: 建议使用YYModel、MJExtension的属性映射, 可不设Model后缀", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "Model映射", |
|
"check" : "^(YYModel|MJExtension|,)+$", |
|
"key" : "config_oc_property_rename_model_mapping", |
|
"tips" : "自动插入映射,可多选(YYModel | MJExtension), 例如: YYModel,该选项只作用与Model后缀的文件\n目的: 属性改了同时也能匹配后台数据", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_property_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "插入属性", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"scrollViewDidScroll:" |
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、关联属性名(单独执行有效)、方法名(参考@selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_property_inject.json", |
|
"configValues" : [ |
|
"scrollViewDidScroll:" |
|
] |
|
}, |
|
"key" : "config_is_oc_property_inject", |
|
"tips" : "根据已有属性插入\n小技巧:可多次执行,插入属性数量指数(x2)增加\n支持部分版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "Model后缀", |
|
"check" : "^(\\w|,|,)+$", |
|
"key" : "config_oc_property_inject_model_suffix", |
|
"tips" : "作用:利用类名后缀(支持正则),批量过滤包含属性的类\n例如: 'Model,_M'将过滤类UserModel、User_M等\n目的: 避免Model字段不匹配后台数据,或者对象归档失败", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "50", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_property_inject_percentage", |
|
"tips" : "取值范围(1~100),默认50%", |
|
"configValue" : "50", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "重命名方法", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"function1:param2:", |
|
"function2", |
|
"fileXXX.m" |
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名(参考@selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_function_rename.json", |
|
"configValues" : [ |
|
"function1:param2:", |
|
"function2", |
|
"fileXXX.m" |
|
] |
|
}, |
|
"key" : "config_is_oc_function_rename", |
|
"tips" : "1.实现协议的时候记得遵守协议(例如:MyClass: NSObject<MyProptocol>),不要只写实现方法,因为没有上下文关系,混淆的时候会当成自己的类,可能导致运行时错误,YYModel已做特殊处理\n2.通过反射调用的方法需要自己留意,可查看预检查日志,目前只能简单识别NSSelectorFromString且方法名是完整的例如:\nNSSelectorFromString(@\"function:param:\")\nNSSelectorFromString([NSString stringWithFormat:@\"%@\",@\"function:param:\"])\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_function_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "插入方法", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名(参考@selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_function_inject.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_oc_function_inject", |
|
"tips" : "根据方法的返回值类型,在分类中创建相应的方法,同时封装原方法的返回值并调用,后期将进一步升级\n小技巧:可多次执行,插入方法数量指数(x2)增加\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "50", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_function_inject_percentage", |
|
"tips" : "取值范围(1~100),默认50%", |
|
"configValue" : "50", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "修改方法", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名(参考@selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_function_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_oc_function_modify", |
|
"tips" : "拆分方法,对原方法进行封装并根据参数不同进行局部调整,然后调用\n小技巧:可多次执行,修改方法数量指数(x2)增加\n支持部分版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "0", |
|
"title" : "实参引用百分比", |
|
"check" : "^([1-9][0-9]{0,1}|100|0)$", |
|
"key" : "config_oc_function_modify_argument_reference_percentage", |
|
"tips" : "控制插入的实参引用上下文的比例,取值范围(1~100),默认0%", |
|
"configValue" : "0", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "50", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_function_modify_percentage", |
|
"tips" : "取值范围(1~100),默认50%", |
|
"configValue" : "50", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "重命名全局变量", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、全局变量名,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_global_variable_rename.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_oc_global_variable_rename", |
|
"tips" : "支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_global_variable_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "修改全局变量", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、全局变量名,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_global_variable_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_oc_global_variable_modify", |
|
"tips" : "const全局变量修改为全局函数,注意:可变全局变量将忽略", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_global_variable_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "插入局部变量", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"main.m" |
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、属性名、方法名(参考@selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_local_variable_inject.json", |
|
"configValues" : [ |
|
"main.m" |
|
] |
|
}, |
|
"key" : "config_is_oc_local_variable_inject", |
|
"tips" : "拆分复合语句\n小技巧:可多次执行,修改的代码数量指数(x2)增加", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_local_variable_inject_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "修改局部变量", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"main.m" |
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、局部变量名,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_local_variable_modify.json", |
|
"configValues" : [ |
|
"main.m" |
|
] |
|
}, |
|
"key" : "config_is_oc_local_variable_modify", |
|
"tips" : "局部变量的值运行时保持不变\n小技巧:可多次执行,修改的代码数量指数(x2)增加\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_local_variable_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "重命名多语言", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_localizable_rename.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_oc_localizable_rename", |
|
"tips" : "对直接或间接使用系统方法NSLocalizedString、NSLocalizedStringFromTable的多语言进行修改,自定义封装处理详见:https:\/\/520coding.yuque.com\/docs\/share\/de45751a-c629-4737-84ad-251fb2502123\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_localizable_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "修改字符串", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、字符串,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_string_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_oc_string_modify", |
|
"tips" : "字符串随机加密混淆,如果字符串加密后如果影响性能,请自行加入黑名单过滤\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "4", |
|
"title" : "最少长度", |
|
"check" : "^\\d+$", |
|
"key" : "config_oc_string_modify_min_length ", |
|
"tips" : "字符个数>=最少长度,将被修改", |
|
"configValue" : "4", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "3", |
|
"title" : "有效个数", |
|
"check" : "^\\d+$", |
|
"key" : "config_oc_string_modify_valid_count", |
|
"tips" : "包含中文、英文和数字等常见有意义字符之和>=有效个数,将被修改", |
|
"configValue" : "3", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_string_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "修改xib、storyboard", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_xib_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_oc_xib_modify", |
|
"tips" : "xib、storyboard文件插入垃圾视图,并修改内部结构属性\n支持部分版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_xib_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "修改字体", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_font_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_oc_font_modify", |
|
"tips" : "微调项目中字体大小", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_font_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "修改颜色", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_color_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_oc_color_modify", |
|
"tips" : "微调UI控件的颜色", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_color_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "修改布局", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"scrollViewDidScroll:" |
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名(参考@selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_layout_modify.json", |
|
"configValues" : [ |
|
"scrollViewDidScroll:" |
|
] |
|
}, |
|
"key" : "config_is_oc_layout_modify", |
|
"tips" : "微调UI布局,有一定风险,尤其是某些地方有严格的尺寸要求,该情况请加入黑名单过滤", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "Frame,Masonry", |
|
"title" : "布局模式", |
|
"check" : "^(SDAutoLayout|Masonry|Frame|,)+$", |
|
"key" : "config_oc_layout_modify_mode", |
|
"tips" : "可多选(Masonry | Frame | SDAutoLayout), 例如: Frame,Masonry", |
|
"configValue" : "Frame,Masonry", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_layout_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "插入文件", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名(参考@selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_file_inject.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_oc_file_inject", |
|
"tips" : "生成oc文件、插入的文件互相调用,而且会在项目中的其它文件中引用,进行初始化、调用公有方法等过程。\n注意:(在项目根路径下,会生成\"other_xxx_file\"的文件夹)\n子选项Target控制导入方式,若为空,则需要手动导入,将生成的文件夹拖入工程即可;反之,自动导入", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "Target", |
|
"check" : "", |
|
"key" : "config_oc_file_inject_target", |
|
"tips" : "工程的target,例如: confuse_test,默认第一个,多个请用逗号隔开\n注意:需要自行检查", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "文件名前缀", |
|
"check" : "^[A-Za-z_]+$", |
|
"key" : "config_oc_file_inject_prefix", |
|
"tips" : "所有文件名添加指定前缀", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "20", |
|
"title" : "插入次数", |
|
"check" : "^([1-4][0-9]|[1-9])$", |
|
"key" : "config_oc_file_inject_count", |
|
"tips" : "范围1~49,每次插入14个文件", |
|
"configValue" : "20", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "插入文本", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名(参考@selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "config_black_oc_text_inject.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_oc_text_inject", |
|
"tips" : "生成json、txt、doc、plist等文本、而且会在项目中的其它文件中引用,生成属性、初始化、自动销毁等。\n注意:(在项目根路径下,会生成\"other_xxx_text\"的文件夹,生成的文件会自动导入)", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "文件名前缀", |
|
"check" : "^[A-Za-z_]+$", |
|
"key" : "config_oc_text_inject_prefix", |
|
"tips" : "所有的文件名添加指定前缀", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "20", |
|
"title" : "插入数量", |
|
"check" : "^([1-4][0-9]|[1-9])$", |
|
"key" : "config_oc_text_inject_count", |
|
"tips" : "1~49", |
|
"configValue" : "20", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "重命名类", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"Main", |
|
"LaunchScreen", |
|
"main", |
|
"AppDelegate", |
|
"ViewController" |
|
], |
|
"tips" : "#文件名(带扩展名且正则只对新模式有效)、类名,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_oc_class_rename.json", |
|
"configValues" : [ |
|
"Main", |
|
"LaunchScreen", |
|
"main", |
|
"AppDelegate", |
|
"ViewController" |
|
] |
|
}, |
|
"key" : "config_is_oc_class_rename", |
|
"tips" : "包含类名、结构体名、协议名,如果需要同步改文件名请勾选'重命名同名文件名',支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "1", |
|
"title" : "旧模式", |
|
"check" : "", |
|
"key" : "config_oc_class_rename_old_enable", |
|
"tips" : "考虑到OC类名本身具有唯一性,保留旧版本功能,混淆速度极快。旧版类名要求1.首字不能是小写 2.类名长度>=5 3.分类名长度>=5(3或4必须全部大写),新模式不受限", |
|
"configValue" : "1", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "类名前缀", |
|
"check" : "^[A-Za-z]+$", |
|
"key" : "config_oc_class_rename_prefix", |
|
"tips" : "大小写字母", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "0", |
|
"title" : "重命名同名文件名", |
|
"check" : "", |
|
"key" : "config_oc_class_rename_file_rename_enable", |
|
"tips" : "文件名和类名相同,将同步修改\n提示:测试阶段关闭,方便查看修改和对比,发布的时候记得开启", |
|
"configValue" : "0", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "ignore", |
|
"title" : "重命名相似字符串", |
|
"check" : "^(ignore|equal|contain)$", |
|
"key" : "config_oc_class_rename_string_rename", |
|
"tips" : "ignore:忽略,equal:字符串与类名相等,contain:字符串包含类名。\n注意:旧模式情况下,该功能无效", |
|
"configValue" : "ignore", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "class,new", |
|
"title" : "纠正非标准点语法", |
|
"check" : "^(\\w|,|,)+$", |
|
"key" : "config_oc_class_rename_illegal_point_grammar", |
|
"tips" : "新模式使用,针对非标准的点语法调用(方法当做属性调用),例如:class,new\nMyClass.class -> [MyClass class]\nMyClass.new -> [MyClass new]", |
|
"configValue" : "class,new", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "关联文件", |
|
"check" : "", |
|
"key" : "config_oc_class_rename_associated_paths", |
|
"tips" : "其他包含类名的文件,每个文件(夹)逗号隔开,无需全路径,支持正则", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_oc_class_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "重命名属性", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、属性名,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_cpp_property_rename.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_cpp_property_rename", |
|
"tips" : "支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_cpp_property_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "插入属性", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、关联属性名(单独执行有效)、类名、方法名,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_cpp_property_inject.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_cpp_property_inject", |
|
"tips" : "插入属性(成员变量)并相互调用修改,自动初始化、销毁、并在其他方法中赋值修改调用等类似人工操作\n支持部分版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "50", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_cpp_property_inject_percentage", |
|
"tips" : "取值范围(1~100),默认50%", |
|
"configValue" : "50", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "重命名方法", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_cpp_function_rename.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_cpp_function_rename", |
|
"tips" : "测试版,如果遇到问题欢迎指正\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_cpp_function_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "修改方法", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_cpp_function_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_cpp_function_modify", |
|
"tips" : "利用重载技术,改变方法原型并调用修改形参\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_cpp_function_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "修改字符串", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、字符串,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_cpp_string_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_cpp_string_modify", |
|
"tips" : "字符串随机加密混淆,如果字符串加密后如果影响性能,请自行加入黑名单过滤\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "4", |
|
"title" : "最少长度", |
|
"check" : "^\\d+$", |
|
"key" : "config_cpp_string_modify_min_length ", |
|
"tips" : "字符个数>=最少长度,将被修改", |
|
"configValue" : "4", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "3", |
|
"title" : "有效个数", |
|
"check" : "^\\d+$", |
|
"key" : "config_cpp_string_modify_valid_count", |
|
"tips" : "包含中文、英文和数字等常见有意义字符之和>=有效个数,将被修改", |
|
"configValue" : "3", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_cpp_string_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
"config_is_macro" |
|
], |
|
"title" : "重命名类", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"Main", |
|
"main", |
|
"AppDelegate", |
|
"ViewController" |
|
], |
|
"tips" : "#文件名(带扩展名且正则只对新模式有效)、类名,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_cpp_class_rename.json", |
|
"configValues" : [ |
|
"Main", |
|
"main", |
|
"AppDelegate", |
|
"ViewController" |
|
] |
|
}, |
|
"key" : "config_is_cpp_class_rename", |
|
"tips" : "支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "1", |
|
"title" : "旧模式", |
|
"check" : "", |
|
"key" : "config_cpp_class_rename_old_enable", |
|
"tips" : "混淆速度极快。旧版类名要求1.首字不能是小写 2.类名长度>=5,新模式不受限", |
|
"configValue" : "1", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "类名前缀", |
|
"check" : "^[A-Za-z]+$", |
|
"key" : "config_cpp_class_rename_prefix", |
|
"tips" : "大小写字母", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "0", |
|
"title" : "重命名同名文件名", |
|
"check" : "", |
|
"key" : "config_cpp_class_rename_file_rename_enable", |
|
"tips" : "文件名和类名相同,将同步修改\n提示:测试阶段关闭,方便查看修改和对比,发布的时候记得开启", |
|
"configValue" : "0", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_cpp_class_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "重命名全局方法", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名(参考#selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_global_function_rename.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_swift_global_function_rename", |
|
"tips" : "支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "0", |
|
"title" : "参数标签", |
|
"check" : "", |
|
"key" : "config_swift_global_function_rename_argument_label_enable", |
|
"tips" : "注意:耗时增加20%左右", |
|
"configValue" : "0", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_global_function_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "重命名图片", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"AppIcon", |
|
"LaunchImage" |
|
], |
|
"tips" : "#图片名(无扩展名),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_image_rename.json", |
|
"configValues" : [ |
|
"AppIcon", |
|
"LaunchImage" |
|
] |
|
}, |
|
"key" : "config_is_swift_image_rename", |
|
"tips" : "", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "运行拼接名称", |
|
"check" : "^(\\w|,|,)+$", |
|
"key" : "config_swift_image_rename_runtime_join", |
|
"tips" : "用于运行时通过字符串拼接生成的图片名,多个逗号隔开。\n例如:'number,xxx',代码中UIImage(named: \"number-\\(i)\")对应的number会被修改\n支持版本迭代混淆", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "4", |
|
"title" : "指定忽略长度", |
|
"check" : "^([4-9]|[1][0-9]{0,1})$", |
|
"key" : "config_swift_image_rename_ignore_length", |
|
"tips" : "图片名长度小于指定长度为危险名称,将忽略,取值范围(4~19),默认4,注意:一个汉字长度为3", |
|
"configValue" : "4", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "0", |
|
"title" : "忽略危险", |
|
"check" : "", |
|
"key" : "config_swift_image_rename_ignore_danger_enable", |
|
"tips" : "与字典key同名,将忽略", |
|
"configValue" : "0", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "关联文件", |
|
"check" : "", |
|
"key" : "config_swift_image_rename_associated_paths", |
|
"tips" : "其他包含图片名的文件,每个文件(夹)逗号隔开,无需全路径,支持正则", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_image_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "重命名Lottie", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#Lottie名(无扩展名),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_lottie_rename.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_swift_lottie_rename", |
|
"tips" : "", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "运行拼接名称", |
|
"check" : "^(\\w|,|,)+$", |
|
"key" : "config_swift_lottie_rename_runtime_join", |
|
"tips" : "用于运行时通过字符串拼接生成的Lottie名,多个逗号隔开。\n例如:'number,xxx',代码中LottieAnimation.named(\"number-\\(i)\")对应的number会被修改\n支持版本迭代混淆", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "4", |
|
"title" : "指定忽略长度", |
|
"check" : "^([4-9]|[1][0-9]{0,1})$", |
|
"key" : "config_swift_lottie_rename_ignore_length", |
|
"tips" : "Lottie名长度小于指定长度为危险名称,将忽略,取值范围(4~19),默认4,注意:一个汉字长度为3", |
|
"configValue" : "4", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "0", |
|
"title" : "忽略危险", |
|
"check" : "", |
|
"key" : "config_swift_lottie_rename_ignore_danger_enable", |
|
"tips" : "与字典key同名,将忽略", |
|
"configValue" : "0", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_lottie_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "插入图片", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"scrollViewDidScroll(_:)" |
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名(参考#selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_image_inject.json", |
|
"configValues" : [ |
|
"scrollViewDidScroll(_:)" |
|
] |
|
}, |
|
"key" : "config_is_swift_image_inject", |
|
"tips" : "源码中自动调用图片,小技巧:可多次执行\n支持部分版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "插入路径", |
|
"check" : "^.*\\.xcassets$", |
|
"key" : "config_swift_image_inject_path", |
|
"tips" : "注意: 只能是xcassets文件夹, 建议项目中用到的图片全部放到xcassets文件夹", |
|
"configValue" : "", |
|
"required" : 1 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "50", |
|
"title" : "插入数量", |
|
"check" : "^[1-9][0-9]$", |
|
"key" : "config_swift_image_inject_count", |
|
"tips" : "10~99", |
|
"configValue" : "50", |
|
"required" : 1 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "重命名枚举", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、枚举成员,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_enum_rename.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_swift_enum_rename", |
|
"tips" : "支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "String,", |
|
"title" : "忽略原始值", |
|
"check" : "^(\\w|,|,)+$", |
|
"key" : "config_swift_enum_rename_ignore_raw_values", |
|
"tips" : "多个原始值,逗号隔开", |
|
"configValue" : "String,", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_enum_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "重命名属性", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、属性名,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_property_rename.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_swift_property_rename", |
|
"tips" : "注意:\n1.使用R.swift,需要主动关闭刷新R.generated.swift\n2.混编项目需要同时开启OC对应功能不可分开执行\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "Model后缀", |
|
"check" : "^(\\w|,|,)+$", |
|
"key" : "config_swift_property_rename_model_suffix", |
|
"tips" : "作用:利用类名后缀(支持正则),批量过滤包含属性的类\n例如: 'Model,_M'将过滤类UserModel、User_M等\n目的:避免Model字段不匹配后台数据\n提示:如果使用ObjectMapper的属性映射, 可不设Model后缀", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "Model映射", |
|
"check" : "^(Codable|,)+$", |
|
"key" : "config_swift_property_rename_model_mapping", |
|
"tips" : "自动插入映射,可多选(Codable), 例如: Codable,该选项只作用与Model后缀的文件\n目的: 属性改了同时也能匹配后台数据", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_property_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "插入属性", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"scrollViewDidScroll:" |
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、关联属性名(单独执行有效)、方法名(参考#selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_property_inject.json", |
|
"configValues" : [ |
|
"scrollViewDidScroll:" |
|
] |
|
}, |
|
"key" : "config_is_swift_property_inject", |
|
"tips" : "根据已有属性插入\n小技巧:可多次执行,插入属性数量指数(x2)增加\n支持部分版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "Model后缀", |
|
"check" : "^(\\w|,|,)+$", |
|
"key" : "config_swift_property_inject_model_suffix", |
|
"tips" : "作用:利用类名后缀(支持正则),批量过滤包含属性的类\n例如: 'Model,_M'将过滤类UserModel、User_M等\n目的: 避免Model字段不匹配后台数据,或者对象归档失败", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "50", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_property_inject_percentage", |
|
"tips" : "取值范围(1~100),默认50%", |
|
"configValue" : "50", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "重命名方法", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名(参考#selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_function_rename.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_swift_function_rename", |
|
"tips" : "注意:\n1.使用R.swift,需要主动关闭刷新R.generated.swift\n2.混编项目需要同时开启OC对应功能不可分开执行\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "0", |
|
"title" : "参数标签", |
|
"check" : "", |
|
"key" : "config_swift_function_rename_argument_label_enable", |
|
"tips" : "注意:耗时增加20%左右", |
|
"configValue" : "0", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_function_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "插入方法", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名(参考#selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_function_inject.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_swift_function_inject", |
|
"tips" : "根据方法的返回值类型,在分类中创建相应的方法,同时封装原方法的返回值并调用,后期将进一步升级\n小技巧:可多次执行,插入方法数量指数(x2)增加\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "50", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_function_inject_percentage", |
|
"tips" : "取值范围(1~100),默认50%", |
|
"configValue" : "50", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "修改方法", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名(参考#selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_function_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_swift_function_modify", |
|
"tips" : "拆分方法,对原方法进行封装并根据参数不同进行局部调整,然后调用\n小技巧:可多次执行,修改方法数量指数(x2)增加\n支持部分版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "50", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_function_modify_percentage", |
|
"tips" : "取值范围(1~100),默认50%", |
|
"configValue" : "50", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "重命名全局变量", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、全局变量名,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_global_variable_rename.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_swift_global_variable_rename", |
|
"tips" : "支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_global_variable_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "修改字体", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_font_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_swift_font_modify", |
|
"tips" : "微调项目中字体大小", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_font_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "修改颜色", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_color_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_swift_color_modify", |
|
"tips" : "微调UI控件、colorset的颜色", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_color_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "修改布局", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"scrollViewDidScroll" |
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名(参考#selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_layout_modify.json", |
|
"configValues" : [ |
|
"scrollViewDidScroll" |
|
] |
|
}, |
|
"key" : "config_is_swift_layout_modify", |
|
"tips" : "微调UI布局,有一定风险,尤其是某些地方有严格的尺寸要求,该情况请加入黑名单过滤", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "Frame,SnapKit", |
|
"title" : "布局模式", |
|
"check" : "^(Frame|SnapKit|,)+$", |
|
"key" : "config_swift_layout_modify_mode", |
|
"tips" : "可多选(Frame | SnapKit), 例如: Frame,SnapKit", |
|
"configValue" : "Frame,SnapKit", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_layout_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "插入局部变量", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"main.m" |
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、属性名、方法名(参考@selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_local_variable_inject.json", |
|
"configValues" : [ |
|
"main.m" |
|
] |
|
}, |
|
"key" : "config_is_swift_local_variable_inject", |
|
"tips" : "拆分复合语句\n小技巧:可多次执行,修改的代码数量指数(x2)增加", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_local_variable_inject_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "修改局部变量", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"main.m" |
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、局部变量名,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_local_variable_modify.json", |
|
"configValues" : [ |
|
"main.m" |
|
] |
|
}, |
|
"key" : "config_is_swift_local_variable_modify", |
|
"tips" : "局部变量的值运行时保持不变\n小技巧:可多次执行,修改的代码数量指数(x2)增加\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_local_variable_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "修改字符串", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、字符串,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_string_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_swift_string_modify", |
|
"tips" : "字符串随机加密混淆,如果字符串加密后如果影响性能,请自行加入黑名单过滤\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "4", |
|
"title" : "最少长度", |
|
"check" : "^\\d+$", |
|
"key" : "config_swift_string_modify_min_length ", |
|
"tips" : "字符个数>=最少长度,将被修改", |
|
"configValue" : "4", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "3", |
|
"title" : "有效个数", |
|
"check" : "^\\d+$", |
|
"key" : "config_swift_string_modify_valid_count", |
|
"tips" : "包含中文、英文和数字等常见有意义字符之和>=有效个数,将被修改", |
|
"configValue" : "3", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_string_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "修改xib、storyboard", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_xib_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_swift_xib_modify", |
|
"tips" : "xib、storyboard文件插入垃圾视图,并修改内部结构属性\n支持部分版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_xib_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "插入文件", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名(参考@selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_file_inject.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_swift_file_inject", |
|
"tips" : "生成swift文件、插入的文件互相调用,而且会在项目中的其它文件中引用,进行初始化、调用公有方法等过程。\n注意:(在项目根路径下,会生成\"other_xxx_file\"的文件夹)\n子选项Target控制导入方式,若为空,则需要手动导入,将生成的文件夹拖入工程即可;反之,自动导入", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "Target", |
|
"check" : "", |
|
"key" : "config_swift_file_inject_target", |
|
"tips" : "工程的target,例如: confuse_test,默认第一个,多个请用逗号隔开\n注意:需要自行检查", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "文件名前缀", |
|
"check" : "^[A-Za-z_]+$", |
|
"key" : "config_swift_file_inject_prefix", |
|
"tips" : "所有文件名添加指定前缀", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "20", |
|
"title" : "插入次数", |
|
"check" : "^([1-4][0-9]|[1-9])$", |
|
"key" : "config_swift_file_inject_count", |
|
"tips" : "范围1~49,每次插入14个文件", |
|
"configValue" : "20", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "插入文本", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则)、方法名(参考@selector),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "config_black_swift_text_inject.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_swift_text_inject", |
|
"tips" : "生成json、txt、doc、plist等文本、而且会在项目中的其它文件中引用,生成属性、初始化、自动销毁等。\n注意:(在项目根路径下,会生成\"other_xxx_text\"的文件夹,生成的文件会自动导入)", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "文件名前缀", |
|
"check" : "^[A-Za-z_]+$", |
|
"key" : "config_swift_text_inject_prefix", |
|
"tips" : "所有的文件名添加指定前缀", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "20", |
|
"title" : "插入数量", |
|
"check" : "^([1-4][0-9]|[1-9])$", |
|
"key" : "config_swift_text_inject_count", |
|
"tips" : "1~49", |
|
"configValue" : "20", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "重命名类", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"Main", |
|
"LaunchScreen", |
|
"main", |
|
"AppDelegate", |
|
"ViewController" |
|
], |
|
"tips" : "#文件名(带扩展名且正则只对新模式有效)、类名,换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_swift_class_rename.json", |
|
"configValues" : [ |
|
"Main", |
|
"LaunchScreen", |
|
"main", |
|
"AppDelegate", |
|
"ViewController" |
|
] |
|
}, |
|
"key" : "config_is_swift_class_rename", |
|
"tips" : "包含类名、结构体名、枚举名、协议名,如果需要同步改文件名请勾选'重命名同名文件名',注意:\n1.混编项目未勾选旧模式,需要同时开启OC对应功能不可分开执行\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "1", |
|
"title" : "旧模式", |
|
"check" : "", |
|
"key" : "config_swift_class_rename_old_enable", |
|
"tips" : "考虑到Swift类名本身具有一定的唯一性,保留旧版本功能,混淆速度极快。旧版类名要求1.首字不能是小写 2.类名长度>=5,新模式不受限", |
|
"configValue" : "1", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "类名前缀", |
|
"check" : "^[A-Za-z]+$", |
|
"key" : "config_swift_class_rename_prefix", |
|
"tips" : "大小写字母", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "0", |
|
"title" : "重命名同名文件名", |
|
"check" : "", |
|
"key" : "config_swift_class_rename_file_rename_enable", |
|
"tips" : "文件名和类名相同,将同步修改\n提示:测试阶段关闭,方便查看修改和对比,发布的时候记得开启", |
|
"configValue" : "0", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_swift_class_rename_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "修改图片", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_image_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_image_modify", |
|
"tips" : "小技巧:可多次执行\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "自定义RGBA", |
|
"check" : "^(#([0-9A-Fa-f]{2}){3,4}=#([0-9A-Fa-f]{2}){3,4}(,|$))*$", |
|
"key" : "config_image_modify_custom_rgba", |
|
"tips" : "偏差范围2,空忽略,例如:#FF1122FF=#004400FF,#AABBCC=#FFBBDD", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "像素点信息", |
|
"check" : "^(\\d+_\\d+(,|$))*$", |
|
"key" : "config_image_modify_point_info", |
|
"tips" : "日志显示像素点的实际信息,空忽略,例如:8_9,12_23", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "4", |
|
"title" : "RGBA偏移", |
|
"check" : "^\\d$", |
|
"key" : "config_image_modify_rgba_offset", |
|
"tips" : "偏移(0~9)范围,0忽略", |
|
"configValue" : "4", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "主题色", |
|
"check" : "^(\\d|[1-9]\\d|[1-2]\\d\\d|3[0-5]\\d|360|)$", |
|
"key" : "config_image_modify_hsv_hue", |
|
"tips" : "生成统一颜色风格,取值范围(0~360),空忽略", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "10", |
|
"title" : "像素点数", |
|
"check" : "^([0-9]|[1-9][0-9])$", |
|
"key" : "config_image_modify_point_count", |
|
"tips" : "微调(0-99)个像素点,实际上限总像素的1%,0忽略", |
|
"configValue" : "10", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "70", |
|
"title" : "质量调整", |
|
"check" : "^([67]\\d|80|0)$", |
|
"key" : "config_image_modify_quality", |
|
"tips" : "百分比(60~80),0忽略", |
|
"configValue" : "70", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "2", |
|
"title" : "大小偏移范围", |
|
"check" : "^\\d$", |
|
"key" : "config_image_modify_size_offset", |
|
"tips" : "偏移(0~9)个像素范围,实际上限为长或宽的4%,0忽略", |
|
"configValue" : "2", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "模式比例", |
|
"check" : "(?#json_dictionary)", |
|
"key" : "config_image_modify_mode_rate", |
|
"tips" : "默认比例:contrast、blur、level、gamma,例如:{\"contrast\":1,\"blur\":2},空忽略", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 1, |
|
"defaultValue" : "", |
|
"title" : "模式指令", |
|
"check" : "", |
|
"key" : "config_image_modify_mode_cmd", |
|
"tips" : "图片修改指令集", |
|
"configValue" : "", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_image_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "修改Lottie", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_lottie_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_lottie_modify", |
|
"tips" : "模拟Lottie文件结构且不影响实际效果。\n注意:预检查日志会扫描需要手动处理的部分", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_lottie_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "修改文件属性", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "#文件名(带扩展名且支持正则),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_file_property_modify.json", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_file_property_modify", |
|
"tips" : "修改文件MD5值、创建时间、修改时间、访问时间\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "100", |
|
"title" : "百分比控制", |
|
"check" : "^([1-9][0-9]{0,1}|100)$", |
|
"key" : "config_file_property_modify_percentage", |
|
"tips" : "取值范围(1~100),默认100%", |
|
"configValue" : "100", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "修改工程", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
"test_target", |
|
"test_sdk", |
|
"test_target.xcodeproj" |
|
], |
|
"tips" : "#target名称、xcodeproj(带扩展名),换行作为分隔符", |
|
"title" : "黑名单", |
|
"key" : "black_xcode_project_modify.json", |
|
"configValues" : [ |
|
"test_target", |
|
"test_sdk", |
|
"test_target.xcodeproj" |
|
] |
|
}, |
|
"key" : "config_is_xcode_project_modify", |
|
"tips" : "无需删除Cocoapods工程\n支持版本迭代混淆", |
|
"required" : 0, |
|
"items" : [ |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "1", |
|
"title" : "修改uuid", |
|
"check" : "", |
|
"key" : "config_xcode_project_uuid_enable", |
|
"tips" : "所有xx.xcodeproj的uuid都将被修改,如需过滤,请在黑名单中设置", |
|
"configValue" : "1", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "1", |
|
"title" : "修改target", |
|
"check" : "", |
|
"key" : "config_xcode_project_target_rename_enable", |
|
"tips" : "提示:target名称要唯一,关联的文件名,文件夹名和工程配置都会一起修改。请保证工程文件名.xcodeproj和target名称保持一致,以免漏改", |
|
"configValue" : "1", |
|
"required" : 0 |
|
}, |
|
{ |
|
"hidden" : 0, |
|
"defaultValue" : "", |
|
"title" : "自定义target名称", |
|
"check" : "", |
|
"key" : "config_xcode_project_target_rename_mapping", |
|
"tips" : "格式要求:name1=replace1,name2=replace2\n例如:confuse_test=confuse_replace1,confuse_sdk=confuse_replace2", |
|
"configValue" : "", |
|
"required" : 0 |
|
} |
|
] |
|
}, |
|
{ |
|
"depends" : [ |
|
|
|
], |
|
"title" : "文件对比", |
|
"selected" : 0, |
|
"black" : { |
|
"defaultValues" : [ |
|
|
|
], |
|
"tips" : "", |
|
"title" : "", |
|
"key" : "", |
|
"configValues" : [ |
|
|
|
] |
|
}, |
|
"key" : "config_is_file_difference_begin", |
|
"tips" : "用于查看混淆前后文件的修改百分比,预计占用总时间10%左右,大项目建议关闭,用git工具对比", |
|
"required" : 0, |
|
"items" : [ |
|
|
|
] |
|
} |
|
] |