欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

3. 修改項目配置

3.1 修改TARGETS配置

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

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

#維護數(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)輸入需要進行方法名混淆的方法名

示例如下:

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. 運行效果

運行com+B

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

相關(guān)文章

  • Swift HTTP加載請求Loading Requests教程

    Swift HTTP加載請求Loading Requests教程

    這篇文章主要為大家介紹了Swift HTTP加載請求Loading Requests教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • 窺探Swift編程中的錯誤處理與異常拋出

    窺探Swift編程中的錯誤處理與異常拋出

    本文給大家整理些關(guān)于Swift編程中的錯誤處理與異常拋出,本文介紹的非常詳細,基于參考價值,特此分享腳本之家平臺供大家學(xué)習(xí)
    2016-02-02
  • swift 4自定義UITableCell的方法示例

    swift 4自定義UITableCell的方法示例

    這篇文章主要給大家介紹了關(guān)于swift 4自定義UITableCell的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-06-06
  • Swift學(xué)習(xí)教程之訪問控制詳解

    Swift學(xué)習(xí)教程之訪問控制詳解

    訪問控制可以限定你在源文件或模塊中訪問代碼的級別,也就是說可以控制哪些代碼你可以訪問,哪些代碼你不能訪問。下面這篇文章主要給大家介紹了關(guān)于Swift學(xué)習(xí)教程之訪問控制的相關(guān)資料,需要的朋友可以參考下。
    2017-08-08
  • Swift開發(fā)中switch語句值綁定模式

    Swift開發(fā)中switch語句值綁定模式

    本文給大家分享Swift開發(fā)中switch語句值綁定模式,非常不錯,具有參考借鑒價值,需要的的朋友參考下
    2016-12-12
  • swift相冊相機的權(quán)限處理示例詳解

    swift相冊相機的權(quán)限處理示例詳解

    在iOS7以后要打開手機攝像頭或者相冊的話都需要權(quán)限,在iOS9中更是更新了相冊相關(guān)api的調(diào)用,那么下面這篇文章主要給大家介紹了關(guān)于swift相冊相機權(quán)限處理的相關(guān)資料,文中給出了詳細的示例代碼,需要的朋友可以參考下。
    2017-10-10
  • Swift讓輸入框跟隨鍵盤彈起避免輸入輸入法擋住輸入框問題

    Swift讓輸入框跟隨鍵盤彈起避免輸入輸入法擋住輸入框問題

    這篇文章主要介紹了Swift讓輸入框跟隨鍵盤彈起避免輸入輸入法擋住輸入框問題的完美解決方案,本文分步驟給大家介紹的非常詳細,需要的朋友可以參考下
    2016-11-11
  • RxSwift使用技巧之過濾操作詳解

    RxSwift使用技巧之過濾操作詳解

    RxSwift的目的是讓讓數(shù)據(jù)/事件流和異步任務(wù)能夠更方便的序列化處理,能夠使用Swift進行響應(yīng)式編程,下面這篇文章主要給大家介紹了關(guān)于RxSwift使用技巧之過濾操作的相關(guān)資料,需要的朋友可以參考下。
    2017-09-09
  • 用Swift編寫自動錄音器

    用Swift編寫自動錄音器

    這篇文章主要介紹了用Swift編寫自動錄音器,有需要的朋友可以借鑒下
    2015-07-07
  • Swift快速集成下拉刷新和上拉加載更多示例代碼

    Swift快速集成下拉刷新和上拉加載更多示例代碼

    這篇文章主要介紹了Swift快速集成下拉刷新和上拉加載更多示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評論