精华内容
下载资源
问答
  • iOS代码混淆

    2019-03-04 14:17:19
    iOS代码混淆安全加固,手动加固和自动加固,详细案例,详细分析!
  • https://zfj1128.blog.csdn.net/article/details/95482006
  • ios加固,ios代码混淆ios代码混淆工具,iOS源码混淆产品是一款纯离线的源码加密工具,主要用于保护iOS项目中的核心代码,避免因逆向工程或破解,造成核心技术被泄漏、代码执行流程被分析等安全问题。该加密工具和...

    ios加固,ios代码混淆,ios代码混淆工具,iOS源码混淆产品是一款纯离线的源码加密工具,主要用于保护iOS项目中的核心代码,避免因逆向工程或破解,造成核心技术被泄漏、代码执行流程被分析等安全问题。该加密工具和普通编译器相似,基于项目源代码可将Objective-C、Swift、C、C++代码编译成二进制代码,不同之处在于,加密工具在编译时,能够对代码采取混淆、字符串加密等安全措施。从而避免攻击者通过IDA Pro等逆向工具反编译二进制代码,分析业务代码执行流程,进一步篡改或窃取核心技术。

    概述

    本文主要介绍iOS源码混淆产品之Xcode插件的使用方式,阅读者需具备iOS开发经验,否则使用可能存在困难。

    安装插件

    v13.0.2-20190703及其之前的版本为替换clang编译器的模式,之后版本为切换Xcode -> Toolchains的模式,后者可以在Xcode中快速切换编译器。

    Xcode插件通过执行python install.py 命令安装编译器,使用完成后执行 python uninstal.py 即可卸载编译器。如下图:

    (备注:如果有多个Xcode版本,请修改configuration.txt文件中Xcode默认的路径。)

    执行安装会提示输入密码,输入电脑开机密码即可,Xcode插件安装成功后会有Install Success提示,如下图:

    引入头文件

    将include目录下的KiwiOBF.h头文件拷贝到iOS项目中,并在需的地方进行引用即可。

    添加KIWIOBF标签

    对需要进行混淆保护的函数,添加KIWIOBF标签,以告知编译器该函数需要进行混淆编译。如下图:

    设置参数

    全编译器有默认混淆参数,如不能满足需求,可以自定义配置参数

    加密参数说明

    iOS项目的混淆参数在 Other C Flags,Other C++ Flags,Other Swift Flags中设置,如下图:

    执行编译

    项目编译操作和原始流程一样,iOS项目在Xcode中执行Build。

    卸载插件

    Xcode插件:执行 python uninstall.py 即可卸载编译器。

    友情告知地址,ios代码混淆,ios加固:https://www.kiwisec.com/product/compiler-ios.html

    展开全文
  • iOS 代码混淆

    千次阅读 2018-04-20 15:35:10
    一、代码易读字符串混淆混淆分许多思路,比如:1)花代码花指令,即随意往程序中加入迷惑人的代码指令2)易读字符替换1.1 防止class-dump出可读信息的有效办法是易读字符替换首先切换到我们的项目目录下,创建两个...

    一、代码易读字符串混淆

    混淆分许多思路,比如:1)花代码花指令,即随意往程序中加入迷惑人的代码指令2)易读字符替换

    1.1 防止class-dump出可读信息的有效办法是易读字符替换

    首先切换到我们的项目目录下,创建两个文件:confuse.sh: 存放混淆的脚本func.list: 需要混淆的方法、变量名

    创建文件

    右键项目名称,把这两个文件导进来项目中来


    添加新建文件到项目中

    然后打开 confuse.sh 文件,添加以下脚本:

    !/usr/bin/env bash
    
    #表格名称
    TABLENAME=symbols
    SYMBOL_DB_FILE="symbols"
    
    #文件名称
    STRING_SYMBOL_FILE="func.list"
    
    #宏定义文件
    HEAD_FILE="$PROJECT_DIR/$PROJECT_NAME/codeObfuscation.h"
    export LC_CTYPE=C
    
    #维护数据库方便日后作排重
    
    createTable()
    {
    echo "create table $TABLENAME(src text, des text);" | sqlite3 $SYMBOL_DB_FILE
    }
    
    insertValue()
    {
    echo "insert into $TABLENAME values('$1' ,'$2');" | sqlite3 $SYMBOL_DB_FILE
    }
    
    query()
    {
    echo "select * from $TABLENAME where src='$1';" | sqlite3 $SYMBOL_DB_FILE
    }
    
    ramdomString()
    {
    openssl rand -base64 64 | tr -cd 'a-zA-Z' |head -c 16
    }
    
    rm -f $SYMBOL_DB_FILE
    rm -f $HEAD_FILE
    createTable
    
    touch $HEAD_FILE
    echo '#ifndef Demo_codeObfuscation_h
    #define Demo_codeObfuscation_h' >> $HEAD_FILE
    
    echo "//confuse string at date" >> $HEAD_FILE
    cat "$STRING_SYMBOL_FILE" | while read -ra line; do
    if [[ ! -z "$line" ]]; then
    ramdom=`ramdomString`
    echo $line $ramdom
    insertValue $line $ramdom
    echo "#define $line $ramdom" >> $HEAD_FILE
    fi
    done
    echo "#endif" >> $HEAD_FILE
    
    sqlite3 $SYMBOL_DB_FILE .dump

    1.2 配置 Build Phase

    点击工程名称 — > Build Phase — > Run Script


    设置


    在里面添加 $PROJECT_DIR/confuse.sh ,这句命令的意思的应用每次启动的时候,都会先去跑我们confuse.sh 脚本


    添加运行脚本的本间

    这时候,我们编译一下,会发现报错:

    报错信息

    解决办法:切换到工程目录下,输入命令行 chmod 755 confuse.sh 给我们的脚本本间授权


    授权

    此时,我们再编译一下项目,然后在工程目录下,我们会多出一个codeObfuscation.h文件


    混淆后代码

    这里面是用来装混淆前 —> 混淆后的代码对比

    同样把这个文件拉到项目中,我们再建一个PCH文件来引入这个文件,那么整个项目都可以实现,宏的替换了。

    配置PCH文件

    然后打开PCH文件,导入头文件:


    导入头文件

    1.3 混淆的变量,方法名

    下面我们举例子,比如我想混淆以下的变量和方法:


    需要混淆的内容

    那么打开 func.list 文件,一一把名称打进去


    需要混淆的内容

    然后点击编译,这样子我们需要混淆的代码就已经混淆成功了。但是也不会印象到我们的阅读。这里是通过宏定义来修改的:


    我们的方法

    混淆的代码,其实就是通过把敏感的变量、代码通过宏来修改掉:


    混淆


    注意:

    1、 系统的方法

    2、XIB中拖线的控件名

    这些都不能用这个方法混淆,因为会导致运行的时候出错。

    参考

    甘邦https://www.jianshu.com/p/19bf42f22473


    展开全文
  • iOS代码混淆工具 马甲包混淆工具 https://zfj1128.blog.csdn.net/article/details/95482006
  • iOS代码混淆工具.dmg

    2020-02-29 15:29:00
    iOS代码混淆加密工具、iOS马甲包混淆工具 马甲包上架 https://blog.csdn.net/u014220518/article/details/95482006
  • iOS代码混淆的demo

    2021-01-11 18:42:22
    ZFJObsLib V1.7.0更新(iOS代码混淆工具) 官网地址:http://zfjobslib.top 使用问答:http://zfjobslib.top/qahelp.html 详细说明:http://zfjobslib.top/detail.html 下载地址:...
  • iOS代码混淆、马甲包混淆、iOS代码混淆工具 详细请看 https://zfj1128.blog.csdn.net/article/details/95482006
  • iOS代码混淆工具,马甲包混淆工具、字符串加密防止反编译,解决4.3问题 详细请看:https://zfj1128.blog.csdn.net/article/details/95482006 git下载地址:https://gitee.com/zfj1128/ZFJObsLib_dmg
  • IOS代码混淆

    2015-11-12 13:43:14
    4、在工程中创建一个code.h文件,用于存放混淆后的结果 (文件名随意),用来存放混淆过的方法名 5、创建一个.pch文件 加入以下代码 在工程中配置好pch文件 #ifdef __OBJC__ #import "code.h" #endif 6、接...

    看过的一个博客:http://blog.csdn.net/yiyaaixuexi/article/details/29201699 写的很不错

    1、创建一个脚本(在xcode里面创建就可以),命名:confuse.sh



    脚本内容:(脚本中的func.list和下面的func.list文件是一个,两个名字必须一样,  脚本中的code.h和下面的code.h文件是一个,两个名字也必须一样)

    #!/usr/bin/env bash
    
    TABLENAME=symbols
    SYMBOL_DB_FILE="symbols"
    STRING_SYMBOL_FILE="func.list"
    HEAD_FILE="$PROJECT_DIR/$PROJECT_NAME/code.h"
    export LC_CTYPE=C
    
    #维护数据库方便日后作排重
    createTable()
    {
    echo "create table $TABLENAME(src text, des text);" | sqlite3 $SYMBOL_DB_FILE
    }
    
    insertValue()
    {
    echo "insert into $TABLENAME values('$1' ,'$2');" | sqlite3 $SYMBOL_DB_FILE
    }
    
    query()
    {
    echo "select * from $TABLENAME where src='$1';" | sqlite3 $SYMBOL_DB_FILE
    }
    
    ramdomString()
    {
    openssl rand -base64 64 | tr -cd 'a-zA-Z' |head -c 16
    }
    
    rm -f $SYMBOL_DB_FILE
    rm -f $HEAD_FILE
    createTable
    
    touch $HEAD_FILE
    echo '#ifndef Demo_codeObfuscation_h
    #define Demo_codeObfuscation_h' >> $HEAD_FILE
    echo "//confuse string at `date`" >> $HEAD_FILE
    cat "$STRING_SYMBOL_FILE" | while read -ra line; do
    if [[ ! -z "$line" ]]; then
    ramdom=`ramdomString`
    echo $line $ramdom
    insertValue $line $ramdom
    echo "#define $line $ramdom" >> $HEAD_FILE
    fi
    done
    echo "#endif" >> $HEAD_FILE
    
    
    sqlite3 $SYMBOL_DB_FILE .dump

    (脚本载抄的上面的那个网址的)

    2、配置脚本


    正常打开是没有Run Script这一样的,需要先点击 “+” 然后创建一个 输入:$PROJECT_DIR/confuse.sh

    3、在终端获取该脚本的权限

    sudo chmod -R 777 工程地址/confuse.sh

    4、在工程中创建一个code.h文件,用于存放混淆后的结果 (文件名随意),用来存放混淆过的方法名

    5、创建一个.pch文件 加入以下代码 在工程中配置好pch文件

    #ifdef __OBJC__
    
    #import "code.h"
    
    #endif
    6、接下来就是创建一个文本文件啦,这个文件命名为 func.list,在工程中创建一个空文件,修改名字就行了就行了

    7、在func.list中插入内容

    若方法名为:

    - (void)setName:(NSString *)string;
    - (void)setAge:(int)age andName:(NSString *)name;
    则在func.list中写入

    setName
    setAge

    就ok啦!程序运行完后,可以看到code.h文件多出了两个宏定义 





    展开全文
  • iOS代码混淆,马甲包混淆,iOS4.3被拒,ZFJObsLibV1.5.4-iOS混淆工具.dmg https://zfj1128.blog.csdn.net/article/details/95482006
  • YYConfuse专业iOS代码混淆加固摘要下载地址前言工具介绍专注iOS代码混淆,加密加固的辅助工具工具界面工具功能介绍说明 摘要 iOS混淆 iOS代码混淆 iOS过审工具 iOS上架 iOS代码混淆工具 iOS工具 iOS马甲包 iOS马甲包...

    摘要

    iOS混淆 iOS代码混淆 iOS过审工具 iOS上架 iOS代码混淆工具 iOS工具 iOS马甲包 iOS马甲包工具 iOS混淆 iOS过4.3 iOS过审 iOS confuse iOS code confuse iOS2.3.1解决 iOS账号调查解决办法 iOS账号调查解决 iOS账号调查过审 OC代码混淆 IOS源码混淆 OC混淆 OC代码混淆 OC过审工具 OC代码混淆工具 OC工具 OC马甲包 OC马甲包工具 OC混淆 OC过4.3 OC过审 OC confuse OC code confuse OC解决 OC代码混淆 IOS源码混淆 Flutter源码混淆 Flutter混淆 Flutter代码混淆 Flutter confuse Flutter马甲包工具 Flutter过审工具 Flutterg提审 Flutter审核 RN源码混淆 RN混淆 RN代码混淆 RN confuse RN马甲包工具 RN过审工具 RN提审 RN审核 React Native 混淆

    下载地址

    github下载地址: 工具免费下载.
    码云下载地址: 工具免费下载.

    前言

    我们长期给用户提供上架技术支持,上架解决方案。
    此工具主旨为解决代码加固,以及审核4.3,other,2.3.1等原因导致的拒审。
    其他拒审难题,也可咨询本人,本人拥有丰富的上架经验和技巧,学习交流咨询的来找我吧!!!
    处理到位,基本100%过审核!!!

    工具介绍

    联系作者

    认准唯一指定QQ 209658738

    权限获取

    免费使用,权限联系作者获取。

    专注iOS代码混淆,加密加固的辅助工具

    在这里插入图片描述

    YYConfuse是一款专业的,辅助iOS开发者对源码进行混淆,加固,加密的工具。
    支持语言广泛,目前已经支持OC,Swift,Flutter,RN等主流开发语言。
    后期更支持游戏项目,您值得拥有。

    本工具支持函数方法修改,类名修改,属性名修改,工程名修改,资源名修改,文件UDID标识修改,项目结构修改,字符串加密,敏感词过滤,添加垃圾代码,重新定义函数执行序列,删除注释,修改文件Hash/MD5等功能,

    本工具使用简单,全可视界面,没门槛,刚入门小白也能很轻松的使用。
    根据2021年1月份的统计数据来看,可以达到95%过包率。实测一套代码一周提15个,完全过审13个,剩下两个也过了机审。

    工具界面

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    工具功能介绍

    1. 修改项目名称

    混淆前项目名称Test_1019,混淆后改为Demo111
    在这里插入图片描述

    1. 属性混淆
      混淆前后,属性名称已经完全改变
      在这里插入图片描述
      在这里插入图片描述

    2. 文件目录混淆
      混淆前后项目目录结构改变
      在这里插入图片描述

    3. 方法混淆
      混淆后方法名称和数量都发生改变
      在这里插入图片描述

    4. 敏感词过滤
      一些敏感词的出现,会导致项目的拒审,例如:“支付宝”,"富二代"等,还有一些涉及人身攻击,不和谐的词汇,都会导致一些莫名其妙的原因拒审。
      在这里插入图片描述

    5. 类名混淆
      混淆后类名完全改变
      在这里插入图片描述

    6. 删除注释
      注释只是帮助开发者开发,对于打包上架是没有帮助的,这个是可以删掉的,删除后,项目中将没有一句任何形势的注释
      在这里插入图片描述

    7. 字符串加密
      字符串将会进行加密处理,防止二进制文件的字符串对比识别
      在这里插入图片描述

    8. 修改HASD/MD5值
      混淆后,所有资源文件的MD5将会发生改变
      在这里插入图片描述

    9. 翻新资源名
      资源名翻新,无遗漏
      在这里插入图片描述

    10. 翻新UDID标识
      就像每个人都有自己的身份证号码一样,对于项目中的每个文件来说,每个文件都有属于自己的唯一编码,这个编码是开发工具赋予文件的索引编码,一旦生成,文件中的代码全部删除重构都不会使其发生改变。

    在这里插入图片描述
    在这里插入图片描述

    1. 添加垃圾代码
      新增人工模拟的功能代码文件,且在源码中插入新增代码,达到增加二进制文件差异化,改变函数执行序列的效果。
      在这里插入图片描述
      在这里插入图片描述

    说明

    本工具会根据时时审核政策情况,进行针对性调整更新,以保证其效果。另外,有任何问题和建议,可以通过软件内的联系方式联系作者。

    展开全文
  • iOS代码混淆工具,马甲包混淆工具 详细请看https://zfj1128.blog.csdn.net/article/details/95482006
  • iOS代码混淆安全加固

    千次阅读 2019-03-04 09:27:21
    iOS代码混淆安全加固

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,073
精华内容 5,229
关键字:

ios代码混淆