iOS代码混淆----自动

简介: 先大致解释一下“编译"、"反编译":编译:就是把千千万万行字符串(也叫代码,或者源文件),变成010101010101(机器码,也叫目标代码)编译过程:预处理-编译-汇编-链接

iOS代码混淆----自动

先大致解释一下“编译"、"反编译":

编译:就是把千千万万行字符串(也叫代码,或者源文件),变成010101010101(机器码,也叫目标代码)

编译过程:预处理-编译-汇编-链接

我的脚本运行在预处理阶段。

反编译:就是把0101010111110001100(机器码,也叫目标代码),变成千千万万行字符串(也叫代码,或者源文件)

    最近三年一直待在银行做App,由于银行对安全要求较高,所以iOS的代码必须要有混淆的措施,初期实施了念茜姐的混淆方案,但是领导说,我们要自动混淆,方法名字不能一个一个的添加到func.list中,所以方法名只能从.m和.h文件中抽取了,但是如何屏蔽系统的方法名,暂行的策略是:将自己定义的方法名全部添加一个前缀。

   例如 “hsk_funtion1”; “hsk_funtion2”;“hsk_funtion3”;

在Xcode-->Target--->Build Phases--->添加Run Script

添加Run Script

通过class-dump 反编译之后:Appdelegate 效果

通过class-dump 反编译之后:ViewController 效果

codeObfuscation.h宏定义文件、confuse.sh脚本文件、func.list函数列表文件的关系。

程序每次预处理,都就会执行confuse.sh,从.m和.h文件中按照"一定的规则"抽取需要混淆的函数名,全部写到func.list中,然后再从func.list中逐行提取函数名进行宏定义,宏定义使用随机字符串,然后写到codeObfuscation.h文件中。

func.list函数列表抽取,和宏定义是脚本自动完成,不需要手动抽函数和手动宏定义呢。

由上可知,这种方法非常的复杂麻烦,我们这边推荐一个全新的混淆思路和工具-ipa guard,有兴趣的小伙伴们可以尝试这款新工具,目前还是免费阶段。

Ipa Guard是一款功能强大的ipa混淆工具,不需要ios app源码,直接对ipa文件进行混淆加密。可对IOS ipa 文件的代码,代码库,资源文件等进行混淆保护。 可以根据设置对函数名、变量名、类名等关键代码进行重命名和混淆处理,降低代码的可读性,增加ipa破解反编译难度。可以对图片,资源,配置等进行修改名称,修改md5。只要是ipa都可以,不限制OC,Swift,Flutter,React Native,H5类app。

相关文章
|
6月前
|
移动开发 安全 数据安全/隐私保护
iOS 全局自动化代码混淆工具!支持 cocoapod 组件代码一并混淆
iOS 全局自动化代码混淆工具!支持 cocoapod 组件代码一并混淆
|
6月前
|
Dart 数据安全/隐私保护 Swift
iOS代码混淆工具推荐:IPA Guard详细介绍
iOS代码混淆工具推荐:IPA Guard详细介绍
233 0
|
6月前
|
移动开发 安全 数据安全/隐私保护
iOS代码混淆和加固技术详解
iOS代码混淆和加固技术详解
87 0
|
6月前
|
移动开发 前端开发 数据安全/隐私保护
iOS代码混淆-从入门到放弃
iOS代码混淆-从入门到放弃
67 0
|
6月前
|
移动开发 前端开发 数据安全/隐私保护
【工具】iOS代码混淆工具-iOS源码混淆
【工具】iOS代码混淆工具-iOS源码混淆
72 1
|
6月前
|
移动开发 前端开发 安全
最强大的 iOS 应用源码保护工具:Ipa Guard,保护你的商业机密代码
最强大的 iOS 应用源码保护工具:Ipa Guard,保护你的商业机密代码
|
1月前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异:从代码到用户体验
【10月更文挑战第5天】在移动应用开发的广阔天地中,安卓和iOS两大平台各占半壁江山。它们在技术架构、开发环境及用户体验上有着根本的不同。本文通过比较这两种平台的开发过程,揭示背后的设计理念和技术选择如何影响最终产品。我们将深入探讨各自平台的代码示例,理解开发者面临的挑战,以及这些差异如何塑造用户的日常体验。
|
6月前
|
缓存 开发工具 iOS开发
优化iOS中Objective-C代码调起支付流程的速度
优化iOS中Objective-C代码调起支付流程的速度
102 2
|
6月前
|
移动开发 安全 前端开发
iOS代码混淆----自动
iOS代码混淆----自动
54 0
|
6月前
|
Shell 数据安全/隐私保护 iOS开发
iOS代码混淆教程
iOS代码混淆教程
71 0