做代碼混淆需要六大步驟
1:首先你要創建一個工程吧
2:然後打開你的終端 輸入cd 然後把你的工程拖進去 回車
3:然後 打入一下命令: touch confuse.sh 然後回車
4:之後再輸入: touch func.list 回車 就行
5:這時候打開你的工程 你會發現一個confuse.sh 和一個func.list文件 這時候點擊addfile進去 急著 要在根目錄下addfile
6:之後點擊confuse.sh文件 把下面這段腳本寫入
#!/usr/bin/envbash TABLENAME=symbolsSYMBOL_DB_FILE="symbols" STRING_SYMBOL_FILE="func.list"HEAD_FILE="$PROJECT_DIR/$PROJECT_NAME/codeObfuscation.h" exportLC_CTYPE=C #維護數據庫方便日後作排重createTable() {echo"createtable$TABLENAME(srctext,destext);"|SQLite3$SYMBOL_DB_FILE } insertValue(){ echo"insertinto$TABLENAMEvalues('$1','$2');"|SQLite3$SYMBOL_DB_FILE} query() {echo"select*from$TABLENAMEwheresrc='$1';"|SQLite3$SYMBOL_DB_FILE } ramdomString(){ opensslrand-base6464|tr-cd'a-zA-Z'|head-c16} rm-f$SYMBOL_DB_FILE rm-f$HEAD_FILEcreateTable touch$HEAD_FILE echo'#ifndefDemo_codeObfuscation_h#defineDemo_codeObfuscation_h'>>$HEAD_FILE echo"//confusestringat`date`">>$HEAD_FILEcat"$STRING_SYMBOL_FILE"|whileread-raline;do if[[!-z"$line"]];thenramdom=`ramdomString` echo$line$ramdominsertValue$line$ramdom echo"#define$line$ramdom">>$HEAD_FILEfi doneecho"#endif">>$HEAD_FILE sqlite3$SYMBOL_DB_FILE.dump之後導入pch文件 別告訴我你不知道怎麼創建pch文件。。。
然後在pch文件中把這段復制過去
#ifdef __OBJC__ #import#import //添加混淆作用的頭文件(這個文件名是腳本confuse.sh中定義的) #import "codeObfuscation.h" #endif
然後編譯 你會發現 報錯了 這很正常 別慌
然後進入工程的 target Build Phase
點擊加號 添加 Run Script
然後輸入以下代碼
$PROJECT_DIR/confuse.sh
然後在打開你的終端工具 還是cd 然後把工程文件拖進來 回車
緊接著輸入一下命令:chmod 755 confuse.sh 最後回車就行了
這時候你在編譯 就成功了
恩 接下來在你的viewController中的.h隨便下個方法
-(void)name;
然後在func.list 寫入 name 即可 然後編譯
會看到name已經變成了 YYNB什麼的一堆亂碼 這樣就好了 對了還有一點 最後別忘了 在bulid setting中 搜索prefix Heade 然後把路徑添加了
有的時候可能記不住完整的路徑“$(SRCROOT)/XXX/XXX.pch",很簡單的方法,就是拖拽,雙擊打開prefix Heade之後,彈出了一個選項框,選擇對應的pch文件之後,直接拖進去,就行了! 大工搞成。
以上就是IOS代碼混淆總結的全文介紹,希望對您學習和使用iOS開發有所幫助.[db:作者簡介][db:原文翻譯及解析]【iOS代碼混淆總結】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!