一款功能齐全的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. [插入属性],插入属性(成员变量)并相互调用修改,自动初始化、销毁、并在其他方法中赋值修改等类似人工操作,支持‘百分比控制’
  3. [重命名方法],近似Xcode的Rename功能,识别类型、模板、重载、重写、继承等关系
  4. [修改方法],利用重载技术修改函数原型并调用修改形参
  5. [修改字符串],支持任意字符串,加密处理(硬编码->内存),原始字符串保留在注释中方便检查

    1. 设置‘最少长度’过滤
    2. 也可设置‘有效个数’搭配使用
  6. [重命名类],支持模板等类型

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

Cocos2d-x

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

Swift

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

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

    1. 可设置‘运行拼接名称’,用于运行时通过字符串拼接生成的图片名
    2. 可设置‘忽略危险名称’开关
  2. [重命名属性],基本功能,不做过多描述,优势:

    1. 类似OC[重命名属性],识别继承链及嵌套类型,支持存储和计算属性、观察器、包装器、类属性
    2. 可设置文件名Model后缀过滤
  3. [重命名方法],基本功能改名字类似其他工具,不做过多描述,优势:识别继承链嵌套类型,支持(class、struct、enum)的静态方法和实例方法,及可选链等
  4. [修改方法],利用重载技术修改函数原型并调用修改形参
  5. [修改字符串],识别单行、多行、字符串插值、及扩展字符串,改后由加密和拆分字符组等多种方式自由组合,并保留原有字符的注释,方便检查

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

    1. 可设置‘重命名同名文件’
    2. 可设置‘前缀’
注意:目前Swift和OC混合项目,OC和Swift相互调用的部分需要手动加入黑名单,后续将优化。

图文介绍

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/817774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go gin框架(详细版)

目录 0. 为什么会有Go 1. 环境搭建 2. 单-请求&&返回-样例 3. RESTful API 3.1 首先什么是RESTful API 3.2 Gin框架支持RESTful API的开发 4. 返回前端代码 go.main index.html 5. 添加静态文件 main.go 改动的地方 index.html 改动的地方 style.css 改动…

19.java openCV4.x 入门-Imgproc之图形绘制

专栏简介 💒个人主页 📖心灵鸡汤📖我们唯一拥有的就是今天,唯一能把握的也是今天建议把本文当作笔记来看,据说专栏目录里面有相应视频🤫 📰专栏目录 Imgproc之图像绘制 一、直线绘制字段1…

基于Springboot的酒店管理系统

基于SpringbootVue的酒店管理系统的设计与实现 开发语言:Java数据库:MySQL技术:SpringbootMybatis工具:IDEA、Maven、Navicat 系统展示 用户登录 网站首页 客房服务 客房信息 酒店公告 个人中心 后台登录 用户管理 客房类型管理…

微软搭建零售新媒体创意工作室大举抢占数字营销广告市场

“微软新零售创意工作室新平台利用生成式人工智能,在几秒钟内轻松定制横幅广告。零售媒体预计到2026年将成为一个价值1000亿美元的行业。” 零售媒体在过去几年中发展迅速。根据eMarketerOpens在新窗口的数据,预计到2024年,仅美国的零售媒体…

Python --- 怎么把Python当计算器用?(小白自学笔记)

怎么把Python当计算器用?(小白自学笔记) Part I:标准数学包的导入 今天刚刚装了python,打算用它来取代matlab的基本计算功能,当我的日常计算器用。(这里还有一个捷径,如果你跟我一样也是纯小白的话,直接问c…

并发 MiniHttp 服务器

项目需求 实现一个http 服务器项目,服务器启动后监听80端口的tcp 连接,当用户通过任意一款浏览器访问我们的http服务器,http服务器会查找用户访问的html页面是否存在,如果存在则通过http 协议响应客户端的请求,把页面…

SQLite数据库文件格式(十五)

返回:SQLite—系列文章目录 上一篇:SQLite 4.9的虚拟表机制(十四) 下一篇:SQLite超详细的编译时选项(十六) ► 目录 本文档描述和定义磁盘上的数据库文件 自 SQLite 以来所有版本使用的格式 版本 3.0.0 (2004-06-18…

HCIP的学习(8)

OSPF数据报文 OSPF头部信息(公共固定) 版本:OSPF版本,在IPv4网络中版本字段恒定为数值2(v1属于实验室版本,v3属于IPv6)类型:代表具体是哪一种报文,按照1~5排序&#xff…

AIGC 探究:人工智能生成内容的技术原理、广泛应用、创新应用、版权问题与未来挑战

AIGC(Artificial Intelligence Generated Content)即人工智能生成内容,其核心在于利用深度学习技术,尤其是基于神经网络的模型,来模拟人类创作过程,自主生成高质量的文本、图像、音频、视频等各类内容。神经…

GDPU Java 天码行空7

实验目的: 熟悉awt组件和三种基本布局,掌握按钮、文本框、标签、等基本控件的使用和事件响应编程。 熟悉布局管理器 1. 窗体关闭事件 💖 WindowCloseEvent.java import java.awt.event.WindowAdapter; // 导入WindowAdapter类,…

江新安教授受邀金佰利进行《研发创新与创新思维》培训

近日,科济管线创始人江新安教授受邀金佰利为金佰利全国研发团队进行《研发创新与创新思维》培训授课。创新思维的两种思维形式——非逻辑思维和逻辑思维及其训练的主要方法。创新思维的培养,对于克服思维定势,提供创新方法,可以发…

FreGS:具有渐进频率正则化的3D高斯溅射

FreGS: 3D Gaussian Splatting with Progressive Frequency Regularization FreGS:具有渐进频率正则化的3D高斯溅射 Jiahui Zhang1  Fangneng Zhan2  Muyu Xu1  Shijian Lu1  Eric Xing3, 4 张家慧 1 詹方能 2 许慕玉 1 卢世坚 1 邢志伟 3, 4 1Nanyang Technolo…

19岁第一份“贺礼”,美创蝉联“2023年度数字化赋能服务商”

在即将到来的19岁,美创科技迎来第一份生日“贺礼”,再次蝉联“2023年度数字化赋能服务商”! 4月13日,以“数聚浙里 智领未来”为主题,由浙江省首席信息官协会主办的数字化转型与升级论坛暨CIO年度峰会于杭州隆重召开。…

[MySQL]数据库原理8——喵喵期末不挂科

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

数字化仪:为何成为示波器的理想替代品?——PCIe8910M

在现代科技领域,数字化仪逐渐成为示波器的理想替代品。数字化仪具备诸多特点,使其在多个应用场景下表现出色,逐渐取代传统的示波器。本期文章将探讨数字化仪相对于示波器的优势,以及其哪些特点使其成为示波器的理想替代品。 简介…

【Datawhale LLM学习笔记】一、什么是大型语言模型(LLM)

文章目录 1. 什么是大模型2. 检索增强生成 RAG一、什么是 RAG二、RAG 的工作流程 3. langChain介绍一、什么是 LangChain二、LangChain 的核心组件 4. 开发 LLM 应用的整体流程一、何为大模型开发二、大模型开发的一般流程三、搭建 LLM 项目的流程简析(以知识库助手…

产品推荐 | 基于Lattice CrossLink-NX FPGA语音和视觉机器学习板

01 产品概述 Lattice Semiconductor CrossLink-NX语音和视觉机器学习板是高性能 – 专为低功耗机器学习应用而设计的电路板,采用CrossLink-NX 40K,这是一款具有AI加速器的强大FPGA。 基于视觉和语音的机器学习应用 – 板载低功耗图像传感器和麦克风以及…

Linux数据库自动备份 - 定时任务发到百度云盘、坚果云、邮箱附件

前言 1. 坚果云的webdav云盘最好! (免费账号每月1G上传流量) 2. 不建议数据库备份文件发送到SMTP邮箱,因为对方服务器非常容易当做垃圾邮件处理,而且发信的SMTP账号会被封禁(实测163发到QQ邮箱被封&…

更改docker镜像下载地址

一.简介 使用指令 sudo docker info 查看本机的docker镜像下载地址为 由于本机的var文件空间不足,因此,想更改他的存储地址,如下 二.开始操作 1.停止Docker服务: 执行命令 sudo systemctl stop docker 以及 sudo systemctl s…

220V转3.3V线性降压芯片WT5100

220V转3.3V线性降压芯片WT5100 WT5100就是那个离线式的稳压器芯片,没有电感的那种。里面内置了650V的大功率MOSFET,启动控制电路,电压控制电路,交流信号检测电路等等。通过切换SEL管脚,它就能输出5V或3.3V的电压。不需…