一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Swift - Swift實(shí)現(xiàn)代碼混淆詳解

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

2022-01-24 14:46shengkuiwang Swift

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

 

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

新建文件confuse.shfunc.list

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

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

最終結(jié)果如下:


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

 

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

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

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

 

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

 

3.1 修改TARGETS配置

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

Swift實(shí)現(xià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 "//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這種文件,則需要新建一個(gè)
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實(shí)現(xiàn)代碼混淆詳解

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

原文鏈接:https://blog.csdn.net/FlyingKuiKui/article/details/121518553

延伸 · 閱讀

精彩推薦
  • SwiftSwift能代替Objective-C嗎?

    Swift能代替Objective-C嗎?

    這是我在網(wǎng)上上看到的答案,復(fù)制粘貼過來和大家分享一下,因?yàn)槲液秃芏嗳艘粯雍荜P(guān)心Swift的出現(xiàn)對Mac開發(fā)的影響和對Objective-C的影響。...

    Swift教程網(wǎng)4412020-12-16
  • Swiftswift where與匹配模式的實(shí)例詳解

    swift where與匹配模式的實(shí)例詳解

    這篇文章主要介紹了swift where與匹配模式的實(shí)例詳解的相關(guān)資料,這里附有簡單的示例代碼,講的比較清楚,需要的朋友可以參考下...

    追到夢的魔術(shù)師14382021-01-06
  • SwiftSwift中轉(zhuǎn)義閉包示例詳解

    Swift中轉(zhuǎn)義閉包示例詳解

    在Swift 中的閉包類似于結(jié)構(gòu)塊,并可以在任何地方調(diào)用,下面這篇文章主要給大家介紹了關(guān)于Swift中轉(zhuǎn)義閉包的相關(guān)資料,需要的朋友可以參考下...

    小小小_小朋友11412021-12-26
  • SwiftSwift的74個(gè)常用內(nèi)置函數(shù)介紹

    Swift的74個(gè)常用內(nèi)置函數(shù)介紹

    這篇文章主要介紹了Swift的74個(gè)常用內(nèi)置函數(shù)介紹,這篇文章列舉出了所有的Swift庫函數(shù),內(nèi)置函數(shù)是指無需引入任何模塊即可以直接使用的函數(shù),需要的朋友可...

    Swift教程網(wǎng)5802020-12-19
  • SwiftSwift實(shí)現(xiàn)多個(gè)TableView側(cè)滑與切換效果

    Swift實(shí)現(xiàn)多個(gè)TableView側(cè)滑與切換效果

    這篇文章主要為大家詳細(xì)介紹了Swift實(shí)現(xiàn)多個(gè)TableView側(cè)滑與切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下...

    乞力馬扎羅的雪雪5822021-01-08
  • Swiftmac git xcrun error active developer path 錯誤

    mac git xcrun error active developer path 錯誤

    本文主要是講訴了如何解決在mac下使用git;xcode4.6的環(huán)境時(shí),出現(xiàn)了錯誤(mac git xcrun error active developer path)的解決辦法,希望對大家有所幫助...

    Swift教程網(wǎng)2232020-12-16
  • SwiftSwift教程之基礎(chǔ)數(shù)據(jù)類型詳解

    Swift教程之基礎(chǔ)數(shù)據(jù)類型詳解

    這篇文章主要介紹了Swift教程之基礎(chǔ)數(shù)據(jù)類型詳解,本文詳細(xì)講解了Swift中的基本數(shù)據(jù)類型和基本語法,例如常量和變量、注釋、分號、整數(shù)、數(shù)值類型轉(zhuǎn)換等...

    Swift教程網(wǎng)5162020-12-18
  • SwiftSwift使用CollectionView實(shí)現(xiàn)廣告欄滑動效果

    Swift使用CollectionView實(shí)現(xiàn)廣告欄滑動效果

    這篇文章主要為大家詳細(xì)介紹了Swift使用CollectionView實(shí)現(xiàn)廣告欄滑動效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下...

    Stevin的技術(shù)博客12372021-01-13
主站蜘蛛池模板: 99久久精品久久久久久清纯 | 成人私人影院在线观看网址 | 免费在线看 | 香蕉久久ac一区二区三区 | 无人影院在线播放 | 国产成人一级 | cosplay 极品videos| 岛国片免费看 | 国产精品欧美亚洲韩国日本 | 欧美精品久久一区二区三区 | 精品视频在线观看 | 天天干夜夜玩 | 日韩精品在线视频观看 | 色综合视频在线 | 国产午夜精品福利 | 午夜在线a亚洲v天堂网2019 | 52zfl宅福利yxpjw | 91国语自产拍在线观看 | 婷婷中文| 特黄未满14周岁毛片 | 五月天在线视频观看 | 1919gogo女厕盗摄 | 麻豆网站视频国产在线观看 | 无遮18禁在线永久免费观看挡 | 精品国产一区二区在线观看 | 成人四虎 | 欧美vpswindowssex| 亚洲欧美国产精品完整版 | 亚洲社区在线观看 | 国产高清不卡码一区二区三区 | 美国一级大黄大色毛片 | 4tube欧美高清 | 91夜夜人人揉人人捏人人添 | 999热这里只有精品 999久久久免费精品国产牛牛 | 97精品久久天干天天蜜 | 俄罗斯一级毛片免费播放 | 好大好硬好深好爽想要之黄蓉 | 范冰冰性xxxxhd | 国产成人愉拍免费视频 | 亚洲精品综合一二三区在线 | 双龙高h|