實作一下:如果微信群裡發幾個大的紅包時,你永遠是第一個搶到的。如果APP有營運活動,你能繞過限制拿到第一大獎。如果在APP裡面你無需充值就是VIP使用者.......當然所有這些其實最重要的是幫助我們增強我們APP的安全性能,不知攻焉知防~
現在有一個城堡,如果派兵去攻打,需要什麼?大的來說應該就2步:第一步:找出這個城堡最脆弱的地方,然後呢,當然就是打的問題了:排兵布陣集中優勢火力攻打這個最脆弱的地方。
對于要說的IOS來說,我們首先會講解如何去攻打,然後再後續講解如何找到城堡中最薄弱的地方。
name 表示的是方法的名稱,用于唯一辨別某個方法,比如 @selector(viewWillAppear:) ;
types 表示的是方法的傳回值和參數類型(詳細資訊可以查閱蘋果官方文檔中的 Type Encodings);
imp 是一個函數指針,指向方法的實作;
SortBySELAddress 顧名思義,是一個根據 name 的位址對方法進行排序的函數。
Method Swizzling 的實質是在運作時,通路對象的方法結構體,并改變它的底層實作。

給項目中所有圖檔名稱加字首,所有按鈕點選事件都加一個統計......
一、Theos越獄開發工具的配置和安裝:
下載下傳架構到本地,一般直接在這個目錄即可。
打包工具安裝,theos開發的插件将會以deb的格式進行釋出
在Theos開發插件中,iOS檔案的簽名是使用ldid工具來完成的,也就是說ldid取代了Xcode自帶的Codesign。下方就是ldid的安裝過程
配置CydiaSubstrate
打開Terminal
設定環境變量
進入你打算放置項目的檔案夾
建立工程:
會出現如下圖,進行如下操作即可,主要輸入的是MobileSubstrate Bundle filter和APP的bundleIdentifier對應,目前作業系統的面闆,則輸入如下即可。
5.Makefile檔案開頭輸入你需要安裝手機的ip位址
6.Tweak.xm輸入你需要hook的程式
%hook 指定需要hook的類名,以%end結尾
%log 用來列印log的,将資訊輸入到syslog中,如%log((NSString *)@"xiang")
%orig 執行被hook函數的原始代碼,類似于super.method功能
編譯:
執行指令make:
打包:
執行指令:make package
安裝:
執行指令:make install
過程會讓你輸入兩次iphoen密碼 , 預設是alpine
過程基本一樣,隻是輸入[iphone/tweak] MobileSubstrate Bundle filter 時,輸入APP的bundile identifier。
Tweak.xm代碼如下: