最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Swift實(shí)現(xiàn)代碼混淆詳解

 更新時(shí)間:2021年11月26日 11:40:39   作者:shengkuiwang  
本文詳細(xì)講解了Swift實(shí)現(xiàn)代碼混淆的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>

1. 新建相關(guān)文件

新建文件confuse.shfunc.list

創(chuàng)建文件方式如下:

$ cd ~/Desktop/ceshi
$ touch confuse.sh
$ touch func.list

最終結(jié)果如下:


2. 導(dǎo)入文件至項(xiàng)目

將創(chuàng)建的confuse.sh文件以及func.list文件導(dǎo)入項(xiàng)目
最終結(jié)果如下

3. 修改項(xiàng)目配置

3.1 修改TARGETS配置

如果沒有RunScript。請點(diǎn)擊紅框內(nèi)+進(jìn)行新增

RunScript內(nèi)輸入的文本

$PROJECT_DIR/confuse.sh

3.2 修改指令文件

3.2.1 打開confuse.sh文件,復(fù)制并粘貼一下文本

#!/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

#維護(hù)數(shù)據(jù)庫方便日后作排重
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 "http://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

3.2.2 修改指令文件權(quán)限

$ cd ~/Desktop/ceshi
$ chmod 755 confuse.sh

3.3 修改需要混淆的方法名文件

打開func.list文件,在文件內(nèi)輸入需要進(jìn)行方法名混淆的方法名

示例如下:

imageCompress
blurImage
viewDidLoad

3.4 修改pch文件配置

1、如果沒有PrefixHeader.pch這種文件,則需要新建一個
2、打開PrefixHeader.pch文件

#ifndef PrefixHeader_pch
#define PrefixHeader_pch

// Include any system framework and library headers here that should be included in all compilation units.
#import "CodeObfuscation.h"

#endif /* PrefixHeader_pch */

4. 運(yùn)行效果

運(yùn)行com+B

希望本文所述對大家的Swift開發(fā)和學(xué)習(xí)有所幫助。

相關(guān)文章

  • Swift 數(shù)組及常用方法詳解總結(jié)

    Swift 數(shù)組及常用方法詳解總結(jié)

    數(shù)組(Array)是有序的元素序列。 若將有限個類型相同的變量的集合命名,那么這個名稱為數(shù)組名。組成數(shù)組的各個變量稱為數(shù)組的分量,也稱為數(shù)組的元素,有時(shí)也稱為下標(biāo)變量
    2021-11-11
  • Swift中的條件切換語句switch...case學(xué)習(xí)教程

    Swift中的條件切換語句switch...case學(xué)習(xí)教程

    這篇文章主要介紹了Swift中的條件切換語句switch...case學(xué)習(xí)教程,Swift中的switch...case支持的數(shù)據(jù)類型很多,非常之強(qiáng)大,需要的朋友可以參考下
    2016-04-04
  • Swift中的指針操作詳解

    Swift中的指針操作詳解

    從傳統(tǒng)的C代碼和與之無縫配合的Objective-C代碼遷移到Swift并非小工程,我們的代碼庫肯定會時(shí)不時(shí)出現(xiàn)一些和C協(xié)作的地方,如果想要繼續(xù)使用那些C API的話,了解一些基本的Swift指針操作和使用的知識會很有幫助。下面通過這篇文章一起來學(xué)習(xí)下吧。
    2017-01-01
  • Swift中用到extension的一些基本的擴(kuò)展功能講解

    Swift中用到extension的一些基本的擴(kuò)展功能講解

    這篇文章主要介紹了Swift的一些基本的擴(kuò)展功能,即extension關(guān)鍵字的使用,需要的朋友可以參考下
    2015-11-11
  • Swift使用CoreData時(shí)遇到的一些填坑記錄

    Swift使用CoreData時(shí)遇到的一些填坑記錄

    這篇文章主要給大家記錄了在Swift使用CoreData時(shí)遇到的一些坑,以及介紹了CoreData在Swift 3.0中的一點(diǎn)改變,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-12-12
  • 使用Swift實(shí)現(xiàn)iOS App中解析XML格式數(shù)據(jù)的教程

    使用Swift實(shí)現(xiàn)iOS App中解析XML格式數(shù)據(jù)的教程

    這篇文章主要介紹了使用Swift實(shí)現(xiàn)iOS App中解析XML格式數(shù)據(jù)的教程,講到了iOS中提供的NSXMLParser和NSXMLParserDelegate兩個API的用法,需要的朋友可以參考下
    2016-04-04
  • 如何在Swift?中使用?async?let?并發(fā)運(yùn)行后臺任務(wù)

    如何在Swift?中使用?async?let?并發(fā)運(yùn)行后臺任務(wù)

    Swift?異步編程是一種編寫允許某些任務(wù)并發(fā)運(yùn)行而不是按順序運(yùn)行的代碼的方法,這篇文章主要介紹了在Swift中使用async?let并發(fā)運(yùn)行后臺任務(wù),需要的朋友可以參考下
    2023-06-06
  • 詳解Swift中的數(shù)據(jù)類型類型轉(zhuǎn)換

    詳解Swift中的數(shù)據(jù)類型類型轉(zhuǎn)換

    Swift中的類型轉(zhuǎn)換可以結(jié)合類的繼承等面向?qū)ο蟮木幊烫匦詠磉M(jìn)行,本文中我們就來詳解Swift中的數(shù)據(jù)類型類型轉(zhuǎn)換,需要的朋友可以參考下
    2016-07-07
  • 詳解Swift編程中的方法與屬性的概念

    詳解Swift編程中的方法與屬性的概念

    這篇文章主要介紹了Swift編程中的方法與屬性的概念,是Swift入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-11-11
  • 詳解Swift中的Characters字符類型與String字符串類型

    詳解Swift中的Characters字符類型與String字符串類型

    Swift中的字符串操作相當(dāng)便捷,下面我們來詳解Swift中的Characters字符類型與String字符串類型,需要的朋友可以參考下
    2016-06-06

最新評論

东阳市| 屯留县| 曲水县| 温泉县| 吉水县| 永城市| 大关县| 普洱| 南充市| 招远市| 中西区| 凉城县| 昔阳县| 剑川县| 隆昌县| 新化县| 沽源县| 资阳市| 大化| 鄄城县| 晴隆县| 锡林郭勒盟| 林州市| 广西| 磴口县| 额济纳旗| 清丰县| 荔浦县| 鄂温| 石柱| 察雅县| 龙胜| 灌阳县| 营山县| 霞浦县| 镇赉县| 宁城县| 苍溪县| 莱州市| 全椒县| 仁怀市|