IOS开发入门之iOS代码混淆总结
白羽 2018-11-13 来源 :网络 阅读 352 评论 0

摘要:本文将带你了解IOS开发入门iOS代码混淆总结,希望本文对大家学IOS有所帮助。

    本文将带你了解IOS开发入门iOS代码混淆总结,希望本文对大家学IOS有所帮助。



        

iOS代码混淆总结

做代码混淆需要六大步骤

1:首先你要创建一个工程吧

2:然后打开你的终端 输入cd 然后把你的工程拖进去 回车

3:然后 打入一下命令: touch confuse.sh 然后回车

4:之后再输入: touch func.list 回车 就行

5:这时候打开你的工程 你会发现一个confuse.sh 和一个func.list文件 这时候点击addfile进去 急着 要在根目录下addfile

6:之后点击confuse.sh文件 把下面这段脚本写入

#!/usr/bin/envbash

TABLENAME=symbolsSYMBOL_DB_FILE="symbols"

STRING_SYMBOL_FILE="func.list"HEAD_FILE="$PROJECT_DIR/$PROJECT_NAME/codeObfuscation.h"

exportLC_CTYPE=C

#维护数据库方便日后作排重createTable()

{echo"createtable$TABLENAME(srctext,destext);"|sqlite3$SYMBOL_DB_FILE

}

insertValue(){

echo"insertinto$TABLENAMEvalues('$1','$2');"|sqlite3$SYMBOL_DB_FILE}

query()

{echo"select*from$TABLENAMEwheresrc='$1';"|sqlite3$SYMBOL_DB_FILE

}

ramdomString(){

opensslrand-base6464|tr-cd'a-zA-Z'|head-c16}

rm-f$SYMBOL_DB_FILE

rm-f$HEAD_FILEcreateTable

touch$HEAD_FILE

echo'#ifndefDemo_codeObfuscation_h#defineDemo_codeObfuscation_h'>>$HEAD_FILE

echo"//confusestringat`date`">>$HEAD_FILEcat"$STRING_SYMBOL_FILE"|whileread-raline;do

if[[!-z"$line"]];thenramdom=`ramdomString`

echo$line$ramdominsertValue$line$ramdom

echo"#define$line$ramdom">>$HEAD_FILEfi

doneecho"#endif">>$HEAD_FILE

 

sqlite3$SYMBOL_DB_FILE.dump

之后导入pch文件 别告诉我你不知道怎么创建pch文件。。。

然后在pch文件中把这段复制过去


   

#ifdef __OBJC__  

    #import <uikit uikit.h="">  

    #import <foundation foundation.h="">  

    //添加混淆作用的头文件(这个文件名是脚本confuse.sh中定义的)  

    #import "codeObfuscation.h" 

#endif</foundation></uikit>

   

然后编译 你会发现 报错了 这很正常 别慌

然后进入工程的 target Build Phase
点击加号 添加 Run Script

然后输入以下代码

$PROJECT_DIR/confuse.sh

然后在打开你的终端工具 还是cd 然后把工程文件拖进来 回车

紧接着输入一下命令:chmod 755 confuse.sh 最后回车就行了

这时候你在编译 就成功了

恩 接下来在你的viewController中的.h随便下个方法

-(void)name;

然后在func.list 写入 name 即可 然后编译

会看到name已经变成了 YYNB什么的一堆乱码 这样就好了 对了还有一点 最后别忘了 在bulid setting中 搜索prefix Heade 然后把路径添加了

有的时候可能记不住完整的路径“$(SRCROOT)/XXX/XXX.pch",很简单的方法,就是拖拽,双击打开prefix Heade之后,弹出了一个选项框,选择对应的pch文件之后,直接拖进去,就行了! 大工搞成。

          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程