iOS微信運動 刷分

修改 iOS微信運動的數據  很簡單,這裏記錄下實現步驟。git

 首先要安裝Theos,具體安裝步驟就不說了。網上不少。github

大致安裝步驟:spring

sudo brew install dpkg
sudo brew install ldid
git clone --recursive https://github.com/theos/theos.git
sudo chown $(id -u):$(id -g) theos

 

1、能夠用ssh,也能夠用usbmuxd。由於咱們公司的網絡還要用戶名密碼,麻煩,因此就用了usb的模式。xcode

先執行命令:微信

 brew install usbmuxd 

來安裝usbmuxd。網絡

而後執行app

 iproxy 2223 22 

,這樣就能夠將iphone上的端口號映射到電腦上的2223端口。ssh

後面在Makefile文件中 咱們會配置相關的ip和端口。iphone

後面的命令行都要新建一個終端 進行操做。ui

 

 2、新建一個文件夾,咱們命名爲WeChatSportWeak,cd到該目錄,執行命令:

export THEOS=/opt/theos 
$THEOS/bin/nic.pl

 

模板選擇11:

Choose a Template (required): 11

 

MobileSubstrate Bundle filter輸入com.tencent.xin,以下:

MobileSubstrate Bundle filter [com.apple.springboard]: com.tencent.xin

截圖以下:

 

3、由於我用的是iphone6P,xcode9.2。因此修改目錄中的Makefile文件以下:

ARCHS = arm64
export SDKVERSION=11.2
export THEOS_DEVICE_IP=localhost
export THEOS_DEVICE_PORT=2223
TARGET = iphone:latest:8.0

include $(THEOS)/makefiles/common.mk

TWEAK_NAME = WeChatTweak
WeChatTweak_FILES = Tweak.xm

include $(THEOS_MAKE_PATH)/tweak.mk

after-install::
install.exec "killall -9 SpringBoard"

 

修改Tweak.xm爲:

%hook WCDeviceStepObject

- (unsigned int)m7StepCount
{
    return 69999;
}
%end

 

4、而後cd到子目錄wechatsportweak中,

執行 make,再執行make package,最後執行make install。截圖以下:

 

5、打開微信,點擊查看微信運動,就發現步數變成了69999。第一名。微信不能和iPhone的健康關聯,不然失效。

效果以下:

 

6、實現原理

咱們怎麼知道要hook的類是WCDeviceStepObject類的m7StepCount方法。

從pp助手 或其餘平臺上下載 的微信是一級破殼的,能夠直接用class-dump解析出微信的全部.h文件。

class-dump的安裝很簡單,從 http://stevenygard.com/projects/class-dump/ 中下載,把下載的 class-dump.dmg文件拷貝到/usr/local/bin目錄中。

而後在命令行中修改權限:

sudo chmod 777 /usr/local/bin/class-dump

 命令格式:class-dump -H [.app文件的路徑] -o [輸出文件夾路徑]

我本地的是:

 class-dump -H /Users/jichanghe/Desktop/微信/Payload/WeChat.app -o /Users/jichanghe/Desktop/WeChatHeads

 這樣就能夠解析出全部的.h文件。如圖:

 

找到WCDeviceStepObject文件。stepCount單詞的意思就是 步數,有兩個變量m7StepCount,hkStepCount。而後用上面的Theos試試 發現m7StepCount這個變量是能夠的。因此纔有了上面的hook代碼。

 上面的代碼,微信.h文件都放到了 github裏:https://github.com/bugaoshuni/WeChatSportTweak

相關文章
相關標籤/搜索