你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS代碼混淆總結

iOS代碼混淆總結

編輯:IOS開發綜合

IOS代碼混淆總結

做代碼混淆需要六大步驟

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 即可 然後編譯

IOS代碼混淆總結

會看到name已經變成了 YYNB什麼的一堆亂碼 這樣就好了 對了還有一點 最後別忘了 在bulid setting中 搜索prefix Heade 然後把路徑添加了

有的時候可能記不住完整的路徑“$(SRCROOT)/XXX/XXX.pch",很簡單的方法,就是拖拽,雙擊打開prefix Heade之後,彈出了一個選項框,選擇對應的pch文件之後,直接拖進去,就行了! 大工搞成。

以上就是IOS代碼混淆總結的全文介紹,希望對您學習和使用iOS開發有所幫助.[db:作者簡介][db:原文翻譯及解析]

【iOS代碼混淆總結】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved