一、概述
從App Store下載的應(yīng)用是加過(guò)殼的,加殼的應(yīng)用是不能直接執(zhí)行的,手機(jī)之所以能夠使用下載的app,是因?yàn)椴僮飨到y(tǒng)有解密的方法。
Mach-O文件 -> 蘋果加密 -> 加殼文件
加殼文件 ->系統(tǒng)解密 ->?Mach-O文件(DYLD)
1.DRM(數(shù)字版權(quán)管理)檢查?
2.找到合適的架構(gòu)進(jìn)行解密?
3.使用DYLD加載解密的MachO
砸殼工具(GitHub上)
*Clutch ?(靜態(tài)砸殼)
*dumpdecrypted (動(dòng)態(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命令沒有提示,需要修改下名字才會(huì)有提示
$?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把動(dòng)態(tài)庫(kù)拷貝到越獄設(shè)備上
$?scp -P 12345 dumpdecrypted.dylib root@localhost:~/

2.2?DYLD_INSERT_LIBRARIES是DYLD(動(dòng)態(tài)連接器)的一個(gè)環(huán)境變量,DYLD在加載過(guò)程中,通過(guò)DYLD_INSERT_LIBRARIES添加一個(gè)動(dòng)態(tài)庫(kù) ,并依附一個(gè)進(jìn)程,使添加的動(dòng)態(tài)庫(kù)被執(zhí)行,通過(guò)2.3可以看出,添加的動(dòng)態(tài)庫(kù)被執(zhí)行了
$ DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib xxx

注意:動(dòng)態(tài)庫(kù)作用:把內(nèi)存中可執(zhí)行文件拷貝出來(lái)
把動(dòng)態(tài)庫(kù)拷貝出來(lái)的可執(zhí)行文件拷到桌面
$?scp -P 12345 root@localhost:~/WeChat.decrypted ~/Desktop


2.3新建動(dòng)態(tài)庫(kù)test(測(cè)試用)(framework動(dòng)態(tài)庫(kù)下有Mach-O文件test,dylib沒有)


因?yàn)閠est.framework是文件夾所以加了個(gè) -r
$?scp -r -P 12345 test.framework/ root@localhost:~/

添加動(dòng)態(tài)庫(kù)中的可執(zhí)行文件
DYLD_INSERT_LIBRARIES=test.framework/test xxx(xxx為某個(gè)應(yīng)用的進(jìn)程)

三.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.不要在中文目錄下編譯工程.否則報(bào)錯(cuò)!
2.packageName(包名稱),全部小寫!!!
打包的問(wèn)題: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

編譯的問(wèn)題:make
Error: You do Not an SDK
需要指定Xcode . 安裝過(guò)MonkeyDev
make clean 清除緩存!
推薦?
http://www.itdecent.cn/p/2efa44f2151f