準備工作
- iOS逆向工程中,我們需要用到一個越獄開發工具包,那就是Theos,還有另外一個工具是 iOSOpenDev(還在研究中)這次修改步數的 “功臣”就是Theos。
1、Theos 的安裝
- 首先本地先安裝了 Homebrew (不懂的自行google)。
- xcode安裝 command line tools
打開終端,輸入 xcode-select --install 即可自動彈出安裝界面。
直接在終端輸入 sudo xcodebuild -license
按下回車,會自動打開協議內容,按 q 直接忽略
最後手動輸入 agree ,搞定。 - 安裝dpkg。
dpkg:用來製作deb 格式的文件,因爲Theos 開發的插件都會以 deb 的格式進行發佈的。所在需要先安裝dpkg。
sudo brew install dpkg - 安裝ldid(簽名工具)sudo brew install ldid
- 安裝Theos
git clone --recursive https://github.com/theos/theos.git
下載之後 需要修改一下文件的權限:
sudo chown $(id -u):$(id -g) theos
這樣就算安裝完畢了。
2、使用Theos 創建項目來達到修改步數的目的
- 創建工程
這裏如果想偷懶 可以在終端這樣
export THEOS=theos文件所在路徑 例如 export THEOS=/opt/theos - 然後$THEOS/bin/nic.pl
要麼就是這樣在終端這樣寫
/opt/theos/bin/nic.pl
創建項目.png
一共12個模板,我們選擇11,然後寫一些關於項目的名字之類的配置。
3、寫代碼,以便於下一步的安裝注入。
項目創建後的樣子.png
注意:編輯時不要用mac自帶的編輯器。
- control:是關於項目的一些信息。
- demo.plist:這個我就不介紹了,開發iOS的同學都知道是什麼。
- Makefile:這個可以當做是個頭文件。
我們需要修改它 給它添加頭部,代碼如下:
export THEOS=/opt/theos - THEOS_DEVICE_IP = 192.168.1.102(手機的ip地址)
- ARCHS = armv7 arm64
- include $(THEOS)/makefiles/common.mk
- TWEAK_NAME = demo
- demo_FILES = Tweak.xm
- include $(THEOS_MAKE_PATH)/tweak.mk
- after-install::
- install.exec "killall -9 SpringBoard"
- Tweak.xm:我們在這裏面寫代碼,來修改數據。
%hook WCDeviceStepObject - - (unsigned int)m7StepCount
- {
- return 98800;
- }
- %end
這裏的語法 是 logos 點擊查看語法
這個方法就是通過砸文件等分析出來的。可以點擊看我上一篇文章。
4、安裝運行 達到目的
cd 到創建的項目文件下。
然後執行
make package install
我之前碰到的錯誤是:提示deb 文件有問題。
然後我是這樣改的
$(ECHO_NOTHING)COPYFILE_DISABLE=1 $(FAKEROOT) -r $(_THEOS_PLATFORM_DPKG_DEB) -Z$(_THEOS_PLATFORM_DPKG_DEB_COMPRESSION) -Zgzip -b "$(THEOS_STAGING_DIR)" "$(_THEOS_DEB_PACKAGE_FILENAME)"$(ECHO_END)
中間加了一個 Zgzip 然後打包就成功了。
中間會出現讓輸入2次 手機的密碼(OpenSSH)的密碼。然後手機重啓。記得要把健康中同步微信的給關掉,要不然沒效果。