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

服務(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
主站蜘蛛池模板: 欧美性xxx狂流白浆 欧美性f | 色婷婷久久综合中文久久一本` | 91porn最新网址 | a性片| 色天使亚洲综合在线观看 | 玩两个少妇女邻居 | 欧美综合国产精品日韩一 | 午夜国产精品视频在线 | 亚洲国产成人久久精品hezyo | 非洲黑人gay巨大 | www.四虎.com | 午夜dj影院在线视频观看完整 | 亚洲国产成人久久综合一 | 亚洲第一色视频 | 久久99国产综合精品AV蜜桃 | 亚洲国产精品自产在线播放 | 免费日批视频 | 国产成人激烈叫床视频 | 精品国产成a人在线观看 | 99久久精品国产一区二区 | 日韩精品成人 | 精品久久洲久久久久护士免费 | 亚洲国产欧美目韩成人综合 | 给我一个黄色网址 | 美妇在男人胯下哀求 | 国产成人在线免费观看 | 免费看一级大片 | 小嫩videos| www在线免费观看 | 精品国产美女福利在线 | 蜜桃麻豆 | 欧美人禽杂交在线视频 | 欧美性高清另类videosex死尸 | av72成人 | 午夜精品国产自在现线拍 | 99久久99久久免费精品蜜桃 | 国色天香视频完整版 | 青青草伊人久久 | 91交换论坛| 高清在线观看免费入口 | 9总探花新品牛仔背带裤 |