不越獄 繼續逆向 微信運動


不越獄 繼續逆向 微信運動

字數939 閱讀312 評論4 

接下來還是在 非越獄 環境中進行。


手動修改微信步數

上篇文章中討論了如何使用Hopper 來修改二級制文件實現逆向,雖然修改過程很簡單,但是由於只能針對於匯編語言進行修改,所以還是有很大的局限性,如果能直接用源語言(Objective-c)來進行修改,那就能為所欲為了。
所以這就是接下來要干的:

安裝 iOSOpenDev

提到越獄開發,你可能知道Theos,它很大程度上簡化了越獄開發,而 iOSOpenDev 提供了一系列關於越獄開發的模板,結合Theos可以讓開發Tweak跟開發普通應用一樣簡單。


iOSOpenDev

由於作者很長時間已經沒有更新iOSOpenDev,而Xcode版本在不停的變更,所以在新版本Xcode的安裝的過程中會遇到一些坑。
下面總結一些填坑的技巧:

  1. 首先,安裝失敗后 可以 通過 Commond + L 查看安裝錯誤信息,然后Google。
  2. 新版本的Xcode 更新后一些文件目錄的調整,導致iOSOpenDev 找不到。具體目錄結構的調整,可參考 這篇文章
  3. 在Xcode7.3 的iOS 9.3 的SDK 中蘋果去除了 PrivateFrameworks,我們可以通過下載9.2 SDK 中的去替代。下載
    SDK位置:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library
  4. 將所有需要的文件位置調整好后,再重新安裝dmg。

開始Hook

在安裝好確定沒問題后,我們通過iOSOpenDev創建一個CaptainHook Tweak,是因為我們是在非越獄環境開發,並且這個模板無需TheOS的支持。CaptainHook 是使用的Runtime 機制實現,利用宏命令封裝類定義、方法替換等功能。

創建完成修改xxxxxx.mm文件,可以通過 Hook 獲取微信運動步數的方法,修改成想要的步數。

CHDeclareClass(WCDeviceStepObject)

//宏格式:參數的個數,返回值的類型,類的名稱,selector的名稱,selector的類型,selector對應的參數的變量名。 CHMethod(0, unsigned int, WCDeviceStepObject, m7StepCount) { // 修改步數 return 66666; } __attribute__((constructor)) static void entry() { // 在構造方法中替換方法 CHLoadLateClass(WCDeviceStepObject); CHClassHook(0, WCDeviceStepObject,m7StepCount); }

這里把步數寫死了,然后每天都是一個步數,假的連自己都不相信,如果能夠自由修改步數,成自然狀態增長,那將可以裝逼於無形。
接下來將通過給自己發送消息的形式修改微信運動的步數:


修改步數

下面就不貼代碼了,實現原理類似,可以去Github下載
https://github.com/dimsky/runaway

寫完Hook 直接編譯不出錯的情況下就能夠拿到編譯之后的dylib文件了。


dylib

注入dylib

寫完dylib 我們需要將它注入原來的微信中,這樣才能是你的Hook有作用。
yololib 可以將dylib 注入進WeChat 二進制文件中,下載之后編譯得到yololib 然后通過命令注入:

./yololib WeChat xxxx.dylib

再把WeChat 二進制文件和xxxx.dylib 拷貝到WeChat.app 中替換原有文件。

簽名、打包

具體詳情可結合上篇文章

重新簽名

codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXX)" WeChat.app/WechatTweakHook.dylib codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXX)" WeChat.app/Watch/WeChatWatchNative.app/PlugIns/WeChatWatchNativeExtension.appex codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXX)" WeChat.app/Watch/WeChatWatchNative.app codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXX)" WeChat.app/PlugIns/WeChatShareExtensionNew.appex codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXX)" --entitlements Entitlements.plist WeChat.app

打包

xcrun -sdk iphoneos PackageApplication -v WeChat.app  -o ~/WeChat.ipa

安裝

使用PP助手或者Itunes即可完成安裝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM