一紧显、概述
從App Store下載的應(yīng)用是加過殼的梢睛,加殼的應(yīng)用是不能直接執(zhí)行的,手機之所以能夠使用下載的app伴箩,是因為操作系統(tǒng)有解密的方法入愧。
Mach-O文件 -> 蘋果加密 -> 加殼文件
加殼文件 ->系統(tǒng)解密 ->?Mach-O文件(DYLD)
1.DRM(數(shù)字版權(quán)管理)檢查?
2.找到合適的架構(gòu)進行解密?
3.使用DYLD加載解密的MachO
砸殼工具(GitHub上)
*Clutch ?(靜態(tài)砸殼)
*dumpdecrypted (動態(tài)砸殼)
二、砸殼
1.使用Clutch砸殼(使用Clutch砸殼需要拷貝到越獄設(shè)備上)
$?file Clutch-2.0.4
1.1先映射之后嗤谚,再拷貝到越獄設(shè)備的bin目錄下棺蛛,放在bin目錄下,在其他地方也可以使用clutch的命令
$?scp -P 12345 Clutch-2.0.4 root@localhost:/usr/bin (拷貝)
1.2在“~/”目錄下輸入clutch命令沒有提示巩步,需要修改下名字才會有提示
$?mv Clutch-2.0.4 Clutch (修改Clutch-2.0.4 為Clutch)
1.3添加權(quán)限
$?chmod +x Clutch
1.4查看可以砸殼的應(yīng)用
$ Clutch -i ? ? ?
1.5砸殼
Clutch -d com.gotokeep.keep
2.使用dumpdecrypted砸殼
$ make?
2.1把動態(tài)庫拷貝到越獄設(shè)備上
$?scp -P 12345 dumpdecrypted.dylib root@localhost:~/
2.2?DYLD_INSERT_LIBRARIES是DYLD(動態(tài)連接器)的一個環(huán)境變量旁赊,DYLD在加載過程中,通過DYLD_INSERT_LIBRARIES添加一個動態(tài)庫 椅野,并依附一個進程终畅,使添加的動態(tài)庫被執(zhí)行,通過2.3可以看出竟闪,添加的動態(tài)庫被執(zhí)行了
$ DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib xxx
注意:動態(tài)庫作用:把內(nèi)存中可執(zhí)行文件拷貝出來
把動態(tài)庫拷貝出來的可執(zhí)行文件拷到桌面
$?scp -P 12345 root@localhost:~/WeChat.decrypted ~/Desktop
2.3新建動態(tài)庫test(測試用)(framework動態(tài)庫下有Mach-O文件test离福,dylib沒有)
因為test.framework是文件夾所以加了個 -r
$?scp -r -P 12345 test.framework/ root@localhost:~/
添加動態(tài)庫中的可執(zhí)行文件
DYLD_INSERT_LIBRARIES=test.framework/test xxx(xxx為某個應(yīng)用的進程)
三.Theos的配置和使用
1.Theos的配置
https://github.com/theos/theos/wiki/Installation
Homebrew安裝:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
常用的方式
brew install ldid 安裝
brew uninstall ldid 卸載
brew search ldid 搜索
brew upgrade ldid 更新
brew list 查看列表
brew update 更新Homebrew
2.Theos的使用(竊取微信密碼)
配置IP和端口
注意:
關(guān)于Theos的坑!!!!
1.不要在中文目錄下編譯工程.否則報錯!
2.packageName(包名稱),全部小寫!!!
打包的問題:make package
Error: IO::Compress::lzma
解決方案兩種:
1.安裝xz
$ brew install xz
$ sudo cpan IO::Compress::Lzma
2. 改變壓縮方式
2.1修改dm.pl 文件
vim $THEOS/$THEOS/vendor/dm.pl/dm.pl
#use IO::Compress::Lzma;
#use IO::Compress::Xz;
2.2修改deb.mk 文件
vim $THEOS/makefiles/package/deb.mk
修改為:
_THEOS_PLATFORM_DPKG_DEB_COMPRESSION ?= gzip
編譯的問題:make
Error: You do Not an SDK
需要指定Xcode . 安裝過MonkeyDev
make clean 清除緩存!
推薦?
http://www.reibang.com/p/2efa44f2151f