WechatStepChanger
v1.6
需要手機支援Step Counter Sensor
需要Root
取得stepcounter.cfg
檔案的讀寫權限,應用程式僅使用Root權限執行以下指令:
chmod o+rw /data/data/com.tencent.mm/MicroMsg/stepcounter.cfg
chmod o+x /data/data/com.tencent.mm/MicroMsg/
如果不想授予應用程式Root權限,或是應用程式沒有成功執行指令,也可以手動執行上面兩個指令。
不要一次改的太多,會被偵測為異常。從3k改到5w是不行的,其他的沒測試過
支援Android 5.1以上系統,僅在Android 7.x系統上測試過
透過研究微信的onSensorChanged
函數,發現微信運動的步數是保存在/data/data/com.tencent.mm/MicroMsg/stepcounter.cfg
檔案裡面的。用Linux的file指令檢查stepcounter.cfg
的檔案格式,結果為stepcounter.cfg: Java serialization data, version 5
。這種檔案透過ObjectInputStream
和ObjectOutputStream
來讀寫,實際上stepcounter.cfg
檔案保存的是一個HashMap
, 其格式為:
{209=47669212487765, 201=6011, 202=150160320, 203=45, 204=1501640915492}
其中
201
對應的就是目前今日步數202
對應的是今日開始時間(timestamp / 10)203
對應的是step counter sensor
的步數204
對應的是上次儲存時間所以透過修改鍵值201
對應的值就可以修改微信步數。在修改時,應用程式會呼叫am.killBackgroundProcesses("com.tencent.mm")
來殺死後台微信進程(因為只有當微信啟動的時候才會從stepcounter.cfg
讀取數據,其他時候都是保存資料) 。
最後推薦Hook工具Frida