久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

iOS代碼混淆

 小仙女本仙人 2020-09-25

混淆原理

代碼編譯階段將符號(方法名、屬性名等)替換成隨機生成的字符串

長話短說,,直接上步驟,。

混淆集成步驟

步驟一,、創(chuàng)建shell文件(confuse.sh)并配置相應(yīng)的運行環(huán)境。

  • 在項目根目錄下新建一個文件夾
    image.png
  • 這里取文件夾名稱為CodeObfuscation,,如下圖所示
    image.png
  • 在上一步的文件下新建一個shell文件(.sh文件)
    image.png
  • 輸入文件名:confuse.sh,,點擊Create按鈕
    image.png
    image.png
  • 給.sh文件添加運行環(huán)境
    image.png
  • 添加.sh文件的讀取路徑$PROJECT_DIR/CodeObfuscation/confuse.sh,如下圖
    image.png
  • 給.sh文件添加運行內(nèi)容(運行代碼)
    將下面的代碼復(fù)制粘貼到confuse.sh文件中
TABLENAME=symbols
SYMBOL_DB_FILE="$PROJECT_DIR/CodeObfuscation/symbols"
STRING_SYMBOL_FILE="$PROJECT_DIR/CodeObfuscation/func.list"
HEAD_FILE="$PROJECT_DIR/CodeObfuscation/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

步驟二,、創(chuàng)建func.list文件

image.png

  • 輸入文件名:func.list,點擊Create按鈕
    image.png

步驟三,、創(chuàng)建codeObfuscation.h文件

image.png

  • 輸入codeObfuscation.h,,點擊Create按鈕
    image.png

步驟四,、包含codeObfuscation.h到pch文件中,添加要混淆的方法名或?qū)傩悦絝unc.list

image.png

  • 給func.list文件中添加要混淆的方法名或?qū)傩悦?br> image.png

步驟五、更改confuse.sh文件的運行權(quán)限

  • 打開終端,,cd到CodeObfuscation文件夾(不會cd到這個文件夾的可以私聊我)
  • 在終端輸入ls命令并回車查看文件夾內(nèi)的文件內(nèi)容如下
    image.png
  • 輸入sudo chmod 777 confuse.sh命令并回車如下圖
    image.png
  • 更改文件權(quán)限為可讀可寫可運行,此時需要鍵入開機密碼,,mac下不顯示輸入的內(nèi)容,輸入完畢直接回車即可,。
  • 更改confuse.sh文件運行權(quán)限完成

步驟六、查看結(jié)果

  • 查看codeObfuscation.h文件內(nèi)容變化,,如下圖
    image.png

步驟七、確認(rèn)結(jié)果

如何知道替換成功了呢,?我們找到替換的方法名或?qū)傩悦?,點擊跳轉(zhuǎn)到定義,會跳轉(zhuǎn)到codeObfuscation.h中,,說明替換成功,。
image.png

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多