当前位置: 首页 > news >正文

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。


 

http://www.lryc.cn/news/224177.html

相关文章:

  • 对Mysql和应用微服务做TPS压力测试
  • 将程序添加至右键菜单
  • 三板斧的使用、全局配置文件、静态文件的配置、orm介绍
  • 【编程实践】黑框框里的打字小游戏,但是汇编语言
  • ElasticSearch的集群、节点、索引、分片和副本
  • std::cout无法打印uint8_t类型的数据
  • 浅谈泛在电力物联网在智能配电系统应用
  • 已解决:云原生领域的超时挂载Bug — Kubernetes深度剖析
  • 概念解析 | 高光谱图像:揭开自然世界的神秘面纱
  • Java类和对象(1)
  • 百度上海智能研发中心一面
  • 硝烟后的茶歇 | 中睿天下谈攻防演练之邮件攻击溯源实战分享
  • Leetcode Hot 100之四:283. 移动零+11. 盛最多水的容器
  • 景联文科技助力金融机构强化身份验证,提供高质量人像采集服务
  • Spring Cloud LoadBalancer基础知识
  • 剖析WPF模板机制的内部实现
  • 计算机网络常见的名词解释
  • Android Studio导入,删除第三方库
  • 生成指定长度的随机数字,用对方法精准提效数10倍!
  • Vue3 + Naive-ui Data Table 分页页码显示不全
  • 机器学习中的决策阈值
  • mongodb导出聚合查询的数据
  • U-Mail信创邮件系统解决方案
  • GUI:贪吃蛇
  • leaflet:个性化配置,利用Leaflet-Geoman绘制多种图形(136)
  • 【Shell脚本8】Shell printf 命令
  • CSAPP第4章:RISC和CISC指令集
  • 【LeetCode】每日一题 2023_11_9 逃离火灾(bfs 练习)
  • flink1.18.0 自适应调度器 资源弹性缩放 flink帮你决定并行度
  • 如何设计vue项目的权限管理?