首页 > 其他分享 > iOS代码混淆----自动

iOS代码混淆----自动

时间:2023-11-07 14:33:07浏览次数:32  
标签:混淆 ipa 反编译 list 代码 iOS ---- func

 

 

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

编译:就是把千千万万行字符串(也叫代码,或者源文件),变成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。

 

 

 

 

 

标签:混淆,ipa,反编译,list,代码,iOS,----,func
From: https://www.cnblogs.com/gddg/p/17814922.html

相关文章

  • 理解全序关系
    在数学中,集合 X上的全序、线性序、简单序,或(非严格)排序是在X上的反对称的、传递的和完全的任何二元关系。这意味着如果我们把这种关系指示为≤则下列陈述对于X中的所有a,b和c成立:   如果a≤b且b≤a则a=b(反对称性)   如果a≤b且b≤......
  • 理解偏序关系
    在数学中,特别是序理论中,偏序集合(简写为poset)是配备了偏序关系的集合。这个关系形式化了排序、顺序或排列这个集合的元素的直觉概念。这种排序不必然需要是全部的,就是说不需要但也可以保证在这个集合内的所有对象的相互可比较性。(在数学用法中,全序是一种偏序)。偏序集合定义了偏......
  • 《离散数学》双语专业词汇表 名词术语中英文索引
    《离散数学》双语专业词汇表set:集合subset:子集element,member:成员,元素well-defined:良定,完全确定brace:花括号representation:表示sensible:有意义的rationalnumber:有理数emptyset:空集Venndiagram:文氏图contain(in):包含(于)universalset:全集finite(infinite)set:有限(无限)集......
  • 常用数学符号大全 特殊字符 特殊符号
    1、几何符号⊥  ∥  ∠  ⌒  ⊙  ≡  ≌   △ ⊆ ⊇ Δ Λ Σ ∅ ⋅ ◊ ο ◦2、代数符号∝  ∧  ∨  ~  ∫  ≠   ≤  ≥  ≈  ∞  ∶3、运算符号如加号(+),减号(-),乘号(×或·),除号(÷或/),两个......
  • 常用数学符号读法大全
    常用数学符号读法大全大写       小写    英文注音         国际音标注音         中文注音Α          α      alpha             alfa                阿耳法Β        ......
  • ORL人脸库
    下载链接如下:http://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html\TheDatabaseofFacesOurDatabaseofFaces,(formerly'TheORLDatabaseofFaces'),containsasetoffaceimagestakenbetweenApril1992andApril1994atthelab.Thed......
  • python初学者学习笔记-第二章-变量和数据类型
    chapter2/变量和数据类型2.1Python语法简介Python的语法主要有三个特点:英文输入,单行执行,缩进模式。如上图的代码,以“#”开头的语句是注释;一行是一块代码;以冒号“:”结尾时,换行执行缩进模式,其后的语句组成一个整体的代码块。大小写敏感的。2.2print()print()函数———打......
  • jenkins Java heap space
    jenkinsJavaheapspace,是内存不够。 两个解决方案:一,修改配置文件windows系统中,找到Jenkins的安装路径,修改jenkins.xml将-Xmx256m改为-Xmx1024m或者更大重启jenkins服务。 二,jenkins增加全局配置(jenkins版本不一样,可能名称和菜单也会不一样。)系统配置--》全局......
  • vs2015编译glib2.5.0
    1、首先安装vs2015,以及下载一个glib2.50的源码包2、编译glib的问题①首先解决提示找不到libintl.h的问题需要编译安装libintl模块,可通过下载到glib仓库下载gettext-runtime-dev_0.18.1.1-1_win32包,里面提供了libintl.h和intl.lib②解决找不到pcre.h的问题到官网下载pcre安装......
  • 【论文阅读笔记】【OCR-文本检测】 Few Could Be Better Than All: Feature Sampling
    CVPR2022读论文思考的问题论文试图解决什么问题?一些基于DETR的方法在ICDAR15,MLT17等文字尺度变化范围较大的数据集上文本检测的效果不佳DETR运用的高层特征图难以捕捉小文字的特征,且会引入很多无关的背景噪声,增加了检测的困难程度即使使用DETR的改进模型......