1夕晓、Class-dump
作用:利用
OC
的runtime
特性將存儲在Mach-O
文件中的@interface、@protocal
信息提取出來并生產對應的.h
文件踊餐,通過該文件可查看應用所有的類调俘,及類的屬性、成員變量钩述、方法。
Mach-O
:它是可執(zhí)行文件穆碎、目標代碼牙勘、動態(tài)庫、內核轉儲的文件格式所禀,具有很強的擴展性方面。
class-dump-z
:使用方法同class-dump
放钦,是class-dump
的改進版,速度很快恭金。
https://code.google.com/archive/p/networkpx/wikis/class_dump_z.wiki
下載地址 :http://stevenygard.com/projects/class-dump
下載后將class-dump
復制到/usr/bin
下操禀,在Terminal
中執(zhí)行 以下命令賦予可讀可寫可執(zhí)行權限:
sudo chmod 777 /usr/bin/class-dump
運行class-dump
查看參數(shù):
class-dump 3.5 (64 bit) (Debug version compiled Sep 17 2017 16:24:48)
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 for /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk
or /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk)
--sdk-mac specify Mac OS X version (will look for /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX<version>.sdk
or /Developer/SDKs/MacOSX<version>.sdk)
--sdk-root specify the full SDK root path (or use --sdk-ios/--sdk-mac for a shortcut)
使用方法:
class-dump -H WeChat -o wxh
作用對象必須為未加密的可執(zhí)行文件,簽名后的需要砸殼横腿。
附帶判斷可執(zhí)行文件是否加密命令:
otool -l WeChat|grep cry
2床蜘、Theos
安裝 command line tools
在終端執(zhí)行:
xcode-select --install
sudo xcode-select -s
/Applications/X**codeName**/Contents/Developer (指定XcodeName為默認的Xcode)
下載地址:https://github.com/theos/theos
將theos-master
改為theos
放在/opt/
文件下
3、配置ldid
Ldid
是專門用來簽名iOS
可執(zhí)行文件的工具蔑水,用以在越獄iOS
中取代Xcode
自帶的codesign
邢锯。下載ldid
:
http://joedj.net/ldid
把ldid放在/opt/theos/bin
下 再執(zhí)行以下命令賦予可讀可寫可執(zhí)行權限:
Sudo chmod 777 /opt/theos/bin/ldid
4、配置CydiaSubstrate
執(zhí)行以下命令運行Theos
的自動化配置腳本:
sudo /opt/theos/bin/bootstrap.sh substrate
5搀别、配置dpkg-deb
deb
是越獄開發(fā)安裝包的標準格式丹擎,dpkg-deb
是一個用于操作deb
文件的工具,有了這個工具歇父,Theos
才能正確地把工程打包成為deb
文件蒂培。下載dm.pl
:
https://raw.githubusercontent.com/DHowett/dm.pl/master/dm.pl
將其重命名為dpkg-deb
后,放到/opt/theos/bin/
目錄下榜苫,執(zhí)行下面命令賦予可執(zhí)行權限:
sudo chmod 777 /opt/theos/bin/dpkg-deb
6护戳、配置Theos NIC templates
內置5
種Theos
工程類型的模板,方便創(chuàng)建多樣的Theos
工程垂睬。獲取5
種模板:
Https://github.com/DHowett/theos-nic-templates/archive/master.zip
解壓后放到 /opt/theos/templates/iphone/ 下媳荒。
以上開發(fā)工具安裝完成,可能只是一部分開發(fā)工具驹饺。