什么是殼?
iOS開發(fā)者可以到這么一個現(xiàn)象,上傳App Store之前應(yīng)用大小可能為50M,但是審核通過后去下載發(fā)現(xiàn)到了70M.說明在上傳之后App Store對應(yīng)用做了修改.這其中就包括給應(yīng)用加殼.
加殼實際就是利用特殊的算法,對可執(zhí)行文件的編碼進行改變(比如加密),以達到保護程序代碼的目的
脫殼
硬脫殼(靜態(tài)脫殼)
動態(tài)脫殼
硬脫殼--->Clutch
工具配置
-
下載地址
Clutch
- 將版本號去掉并將Clutch文件拷貝到iPhone的/usr/bin目錄
-
如果在iPhone上執(zhí)行Clutch指令,權(quán)限不夠,賦予“可執(zhí)行的權(quán)限”
賦與權(quán)限 - 完成操作
Clutch指令
1.列出已安裝的APP
$ Clutch -i

指令圖片
2.輸入APP序號或者Bundle Id進行脫殼操作:Clutch -d APP序號或BundleId
$ Clutch -d 1

完成脫殼

脫殼后得應(yīng)用
動態(tài)脫殼--->dumpdecrypted
工具配置
-
下載后執(zhí)行make命令生成動態(tài)庫
生成動態(tài)庫 將dylib文件拷貝到iPhone上(如果是root用戶,建議放/var/root目錄)
動態(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

脫殼命令
-
完成脫殼
脫殼后文件



