代碼混淆 md5 + base64

念茜(iOS 一姐!)CSDN 代碼混淆地址

針對念茜代碼混淆中的腳本,做了一些修改,用md5 + base64替換了原文中的隨機數(缺點:如果一個類中隨機出兩個一樣的數就會有問題)。

注意點:需要先用HomeBrew 安轉一個shell md5支持插件

brew install md5sha1sum

腳本代碼如下:

#!/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  
  
#維護數據庫方便日后作排重  
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  
}  

  
rm -f $SYMBOL_DB_FILE  
rm -f $HEAD_FILE  
createTable  
  
touch $HEAD_FILE  
echo '#ifndef YouHui_codeObfuscation_h
#define YouHui_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
        base=$(echo -n $line |md5sum |base64 | sed 's/\=//g')
        echo $line $base
        insertValue $line $base
        echo "#define $line $base" >> $HEAD_FILE
    fi  
done  
echo "#endif" >> $HEAD_FILE
  
sqlite3 $SYMBOL_DB_FILE .dump

喜歡的朋友們可以點個贊哈~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容