什么是殼?
iOS開發(fā)者可以到這么一個(gè)現(xiàn)象,上傳App Store之前應(yīng)用大小可能為50M,但是審核通過后去下載發(fā)現(xiàn)到了70M.說明在上傳之后App Store對(duì)應(yīng)用做了修改.這其中就包括給應(yīng)用加殼.
加殼實(shí)際就是利用特殊的算法,對(duì)可執(zhí)行文件的編碼進(jìn)行改變(比如加密)决采,以達(dá)到保護(hù)程序代碼的目的
脫殼
硬脫殼(靜態(tài)脫殼)
動(dòng)態(tài)脫殼
硬脫殼--->Clutch
工具配置
- 將版本號(hào)去掉并將Clutch文件拷貝到iPhone的/usr/bin目錄
-
如果在iPhone上執(zhí)行Clutch指令耕腾,權(quán)限不夠,賦予“可執(zhí)行的權(quán)限”
- 完成操作
Clutch指令
1.列出已安裝的APP
$ Clutch -i
2.輸入APP序號(hào)或者Bundle Id進(jìn)行脫殼操作:Clutch -d APP序號(hào)或BundleId
$ Clutch -d 1
動(dòng)態(tài)脫殼--->dumpdecrypted
工具配置
-
下載后執(zhí)行make命令生成動(dòng)態(tài)庫
將dylib文件拷貝到iPhone上(如果是root用戶,建議放/var/root目錄)
動(dòng)態(tài)脫殼指令
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib 可執(zhí)行文件路徑
$ DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/BCB902ED-C406-4E58-ABCF-7CDCD783FFFF/aisiweb.app/aisiweb
-
完成脫殼