一款功能齐全的iOS混淆工具介绍及功能详解

机缘巧合偶遇iOS马甲包业务,前期也使用过目前市面上其他得工具,实际效果不太理想。经过大量实践,开发出一款功能齐全的混淆工具。工具的主要功能OC、C++、Swift已封装成Mac应用,其他功能还在封装中,敬请期待。

马甲包的本质:

  1. 阶段一减低重复率 ,本人开发初期的版本和目前市面上的其它工具基本相似,主要是'名称'全局替换这一个基本的功能
  2. 阶段二减少相似度(相同元素的正态分布),目前该工具经过优化及不断重构已经有了很大的改善,目前基本符合这方面要求,详情见以下功能介绍。事物都有两面性,功能越强大混淆耗时越长,如果你的项目很大,混淆几个小时也是有可能的,请不要见怪,后续持续优化中。

区分工具优劣

其实识别一个工具的优劣,只需看看以下几点:

  1. 能否修改所有的属性、方法,及方法的所有参数名
  2. 修改成员(属性、方法)名称,能否按类区分,还是简单的全局替换
  3. 带block的参数的方法,典型的网络请求

例如:+ (BOOL)post:(NSString )url parameters:(NSDictionary)parameters success:(HttpRequestResponse)success error:(HttpRequestResponse)error;

  1. 方法名和属性名改后的名字的长短(本工具能够保证60~80%的改后名称是常见的一个单词,例如:name、title等且保证不与系统冲突,完全摒弃简单的靠大量单词库堆砌以保证命名的唯一性的做法,真正模拟人工开发)
  2. 修改布局(Frame、Masonry、SDAutoLayout)
  3. 插入的是代码还是'垃圾'(本工具通过封装网络请求,创建自定义控件,文件之间使用MVC模式关联,彻底告别'垃圾',实现以假乱真)。
  4. 更别说"还有谁..."能识别宏、区分继承链等上下文关联内容,智能识别不可修改部分

例如:+ (void)init;- (void)reloadData;基本能改,做到的有几个呢?"

  1. 正常项目(或者第三方库)混淆完基本不报错(除了一些个别语法不严谨造成混淆后报错)

也欢迎大家使用不同工具混淆测试工程confuse_test或者第三方开源库项目,对比效果。

功能

ipaguard是一款混淆工具,尽可能模拟人工开发,仿照Xcode部分功能,避免机核4.3、2.1、2.3.1、账号调查等。

目标:模拟人工修改一切能改的地方,这也是为什么本工具只有黑名单没有白名单的原因

C++

  1. 重命名属性\],支持所有类型属性,识别语法,识别类型、继承

  2. 重命名方法\],近似Xcode的Rename功能,识别类型、模板、重载、重写、继承等关系

  3. 修改字符串\],支持任意字符串,加密处理(硬编码-\>内存),原始字符串保留在注释中方便检查 1. 设置'最少长度'过滤 2. 也可设置'有效个数'搭配使用

    1. 可切换旧模式
    2. 前缀设置
    3. 可设置'重命名同名文件'

Cocos2d-x

该部分功能整合至C++中,支持cocos2dx自动过滤

Swift

适配Swift5.3,SPM包管理项目暂未测试

  1. 新增Swift[重命名图片],智能名词替换,自动纠正图片名和xcassets文件夹名不对应的情况

    1. 可设置'运行拼接名称',用于运行时通过字符串拼接生成的图片名
    2. 可设置'忽略危险名称'开关
  2. 重命名属性\],基本功能,不做过多描述,优势: 1. 类似OC\[重命名属性\],识别继承链及嵌套类型,支持存储和计算属性、观察器、包装器、类属性 2. 可设置文件名Model后缀过滤

  3. 修改方法\],利用重载技术修改函数原型并调用修改形参

    1. 设置'最少长度'过滤
    2. 也可设置'有效个数'搭配使用
  4. 重命名类\],类名不限制(例如:my、My),识别嵌套类型及typealias,支持class、struct,enum、protocol 1. 可设置'重命名同名文件' 2. 可设置'前缀'

图文介绍

运行APP效果图,使用前请详细阅读工具使用教程

相关推荐
songgeb6 分钟前
[WWDC]Why is my app getting killed 学习笔记
ios
00后程序员张1 小时前
iOS 性能优化的体系化方法论 从启动速度到渲染链路的多工具协同优化
android·ios·性能优化·小程序·uni-app·iphone·webview
shanyanwt1 小时前
1分钟解决iOS App Store上架图片尺寸问题
前端·ios
blackorbird1 小时前
iOS 18-26 越狱关键突破:实现沙箱逃逸与权限提升
macos·ios·objective-c·cocoa
游戏开发爱好者81 小时前
iPhone重启日志深度解析与故障代码诊断
android·ios·小程序·https·uni-app·iphone·webview
TO_ZRG2 小时前
Unity-iPhone、Unity-Framework target 如何选择、@rpath报错
unity·ios·iphone
百***58843 小时前
MacOS升级ruby版本
开发语言·macos·ruby
2501_9160088911 小时前
手机抓包app大全:无需root的安卓抓包软件列表
android·ios·智能手机·小程序·uni-app·iphone·webview
胖虎117 小时前
iOS 如何全局修改项目字体
ios·hook·ios字体·字体适配·ios字体适配
songgeb18 小时前
iOS App进入后台时会发生什么
ios