class-dump 混淆加固、保護與最佳化原理
class-dump 混淆加固、保護與最佳化原理
進行逆向時,經常需要dump可執行檔案的標頭檔案,用以確定類資訊和方法資訊,為hook相關方法提供更加詳細的資料.class-dump的主要用於檢查儲存在Mach O檔案的Objective-C中的執行時資訊,為類,類別和協議生成宣告資訊,與
tool -ov命令產生的資訊相同,不同的是class-dump會將這些資訊Objective-C宣告形式提供,更加緊湊易讀.
安裝class-dump是一個命令列工具,可以直接在class-dump官網進行下載解壓.然後將可執行檔案class-dump檔案複製到對應的目錄下即可在全域性使用.由於Mac OS在10.11之後的版本中,對於/usr/bin目錄的寫入許可權進行了限制,所以在Mac OS10.11之前,可以將class-dump檔案放在/usr/bin目錄下,在Mac OS10.11之後,可以將class-dump檔案放在/usr/local/bin目錄下.(也可以更改/usr/bin目錄的操作許可權但是不建議使用)使用基本使用格式
class-dump [options] <mach-o-file> Usage: class-dump [options] <mach-o-file> where options are: -a show instance variable offsets -A show implementation addresses --arch <arch> choose a specific architecture from a universal binary (ppc, ppc64, i386, x86_64, armv6, armv7, armv7s, arm64) -C <regex> only display classes matching regular expression -f <str> find string in method name -H generate header files in current directory, or directory specified with -o -I sort classes, categories, and protocols by inheritance (overrides -s) -o <dir> output directory used for -H -r recursively expand frameworks and fixed VM shared libraries -s sort classes and categories by name -S sort methods by name -t suppress header in output, for testing --list-arches list the arches in the file, then exit --sdk-ios specify iOS SDK version (will look in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk --sdk-mac specify Mac OS X version (will look in /Developer/SDKs/MacOSX<version>.sdk --sdk-root specify the full SDK root path (or use --sdk-ios/--sdk-mac for a shortcut)
-a:使用該選項顯示變數的偏移量(會在變數後邊以註釋方式標註變數的位置偏移);-A:使用該選項顯示方法實現的地址;--arch:可以從通用二進位制檔案中選擇指定的架構進行dump;-C:透過正規表示式匹配需要展示的類;-f:在方法名中查詢字串;-H:在當前路徑中生成標頭檔案檔案或者透過-o指定生成標頭檔案的路徑;-I:透過繼承對類 ,分類和協議進行排序(覆蓋-s實現);-o:與-H配對使用,指定標頭檔案的存放路徑;-r:遞迴擴充套件框架和固定的vm共享庫;-s:透過類名對類和分類進行排序;-S:透過方法名對方法進行排序-t:抑制輸出中的標頭,以進行測試;--list-arches:列出可執行檔案支援的架構,然後退出;--sdk-ios:指定iOS SDK的版本;--sdk-root:指定完整的SDK全路徑.常用命令以下命令中:{excutableFileName}指代.app檔案
class-dump最常用的命令就是輸出標頭檔案到指定目錄:
class-dump -H {excutableFileName} -o {destinationDirectory}
還可以指定透過類名進行排序引數等
class-dump -s -H {excutableFileName} -o {destinationDirectory}
檢視可執行檔案的架構:
class-dump --list-arches {executableFile}
檢視包含特定字串的方法:
class-dump -f {specifyString} {ececutableFile}
二、使用
class-dump在dump從appstore上下載下來的app的時候,首先是需要對app進行砸殼處理的,具體的砸殼工具是ipaguard、clutch等等。
以ipaguar為例,
使用ipaguard來對程式進行加固
程式碼加固是進一步保護應用的一種方式,通常透過特定平臺來對應用進行加固處理。
這邊以ipaguard為例,目前還在免費階段,想薅羊毛的快快試試。
Ipa Guard是一款功能強大的ipa混淆工具,不需要ios app原始碼,直接對ipa檔案進行混淆加密。可對IOS ipa 檔案的程式碼,程式碼庫,資原始檔等進行混淆保護。 可以根據設定對函式名、變數名、類名等關鍵程式碼進行重新命名和混淆處理,降低程式碼的可讀性,增加ipa破解反編譯難度。可以對圖片,資源,配置等進行修改名稱,修改md5。只要是ipa都可以,不限制OC,Swift,Flutter,React Native,H5類app。
所以就要使用到混淆器,混淆器是把裡面的程式碼變數等資訊進行重新命名,這樣可讀性會變得非常差,接著,
到這裡,我們完成了對程式碼的混淆,但是還沒有進行加固,防止反編譯,所以,請往下看
然後匯入自己的包就可以了,這裡是流水式的走下來,所以只需要匯入和匯出就可以了,
新增單個檔案,選擇好剛剛混淆後的包,然後你做的事情就是等,等待上傳完--加固完--下載完--已完成,當到已完成的時候,說明這裡已經可以匯出了,匯出需要前面提到的自己建立的簽名,這裡可是會用到的,如果不用,則包安裝包可能會出現問題
選擇匯出簽名包,選擇簽名檔案,輸入密碼,然後點選開始匯出
匯出的包是經過混淆,經過加固比較安全的包了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70026554/viewspace-2998483/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【iOS開發】iOS App的加固保護原理:使用ipaguard混淆加固iOSAPP
- iOS加固原理與常見措施:保護移動應用程式安全的利器iOS
- .net程式混淆、安全、保護、加密加密
- JavaScript混淆安全加固JavaScript
- Jobfuscator:Java 原始碼混淆和保護Java原始碼
- 過載保護原理與實戰
- 微服務過載保護原理與實戰微服務
- 軟體註冊保護與“多型變形混淆”技術淺述多型
- iOS應用加固--程式碼混淆iOS
- ios-class-guard - iOS程式碼混淆與加固實踐iOS
- Android 高階混淆和程式碼保護技術Android
- 程式碼混淆工具ipaguard:如何使用ipaguard保護和混淆iOS應用程式程式碼iOS
- ios加固,ios程式碼混淆,ios程式碼混淆工具, iOS原始碼混淆使用說明詳解iOS原始碼
- 5個常用Java程式碼混淆器 助你保護你的程式碼Java
- 程式碼安全之程式碼混淆及加固(Android)?Android
- 29 檔案共享與保護
- 360加固保動態脫殼
- 幾維安全SDK應用加固,全線5折為APP保駕護航APP
- iOS攻防:class-dump 與 Dumpdecrypted 使用iOS
- 【科普】等級保護與分級保護的區別和聯絡!
- 保護C#程式碼的藝術:深入淺出程式碼混淆技術C#
- 資料安全與PostgreSQL:保護策略SQL
- 保護模式篇——總結與提升模式
- 硬碟保護卡的原理分析 (2千字)硬碟
- 為了保護公司的App安全,我用遍了市面上的加固產品APP
- 知物由學 | 保護iOS應用有新招,IPA加固打擊黑產“復刻”iOS
- 機器學習與隱私保護,究竟路在何方?機器學習
- 大資料安全與隱私保護大資料
- 三六零天御加固保第六代QDEX VMP加固引擎重磅釋出
- 保護模式模式
- 保護期限
- 為什麼說SO加固+無原始碼VMP是最佳的Android手遊安全保護方案?原始碼Android
- 固態硬碟掉電保護的原理及測試方法硬碟
- Jive筆記3----Jive2.1.1 License保護原理分析 (轉)筆記
- iOS移動應用安全加固:保護您的App免受惡意攻擊的重要步驟iOSAPP
- 【等級保護】等級保護共分為幾級?保護物件是指什麼?物件
- BayMaxProtector-集崩潰保護與頁面降級於一體的大白保護機制
- 破解EXCLE保護