提示: 這僅僅只是逆向的一次嘗試最欠,如果你僅僅只是想單純的修改步數(shù)翠勉,建議使用Healthkit的API修改步數(shù),將會更簡單埠居。
為了紀(jì)念我失去的已越獄iPad查牌, 不得不寫點什么事期。
所以...以下內(nèi)容 不需要越獄。
6萬步是什么概念纸颜,我不知道兽泣,因為我沒走過,不過有朋友是這么跟我形容的胁孙。
破解
首先唠倦,這是一個簡單的不能再簡單逆向?qū)嶒灒矁H僅只是針對于逆向比較簡單的驗證涮较,這里不會討論如何砸殼稠鼻、classdump、hook狂票、dylib 這些東西候齿,因為簡單的不需要,也沒有詳細(xì)的逆向分析過程闺属,因為簡單的不需要慌盯,這里只需要的兩個軟件 :
- PP 助手 (用來下載iOS 版本已經(jīng)破殼的App)
- Hopper Disassembler
并且只需三步來完成破解。
PP助手掂器,只用它來下載破殼的iOS 越獄App润匙,不做說明。
Hopper Disassembler v3 下面是官網(wǎng)的原話:
Hopper is a reverse engineering tool for OS X and Linux, that lets you disassemble, and decompile your 32/64bits Intel Mac, Linux, Windows and iOS executables!Take a look at the feature list!
簡單的說就是 Hopper 是一個反編譯工具唉匾。
可能還有一些類似的工具比如說IDA。因為免費版功能不全匠楚,完整版太貴巍膘,這里毫不猶豫選擇了Hopper。
在2015年芋簿,各大音樂平臺聯(lián)合起來打擊盜版音頻網(wǎng)站峡懈,各大音樂平臺相互攻擊,只能下架未授權(quán)的音樂与斤。一些音樂平臺也從起初的高品質(zhì)歌曲收費服務(wù)肪康,變成了交錢你才能聽,讓廣大人民群眾聽歌困難撩穿。
下面我們要做的就是重新找回原來的自由磷支。
蝦米音樂 for mac
沒有會員的蝦米就只是只蝦米。
如果要使用蝦米Mac版播放器聽高品質(zhì)的歌曲是需要VIP 會員的食寡。
下面我們就給自己一個“會員”雾狈。
先打開Hopper。
找到蝦米音樂的安裝目錄 /Applications/Xiami.app/Contents/MacOS/ 下的Xiami 二進(jìn)制文件給拖出來直接扔進(jìn) Hopper 窗口中抵皱,點OK 然后就會開始分析善榛,蝦米音樂 for mac 做的很簡單辩蛋,馬上就會反匯編完成,我們可以在左邊看到很親切 的Objective-C 語法的方法調(diào)用移盆,我們可以搜索想要了解的方法名悼院,這里很明確,我們就是要給自己一個VIP咒循,直接搜索“vip”据途。
不難發(fā)現(xiàn),函數(shù)已經(jīng)找到了剑鞍,
[XMUser isVIP]
我們可以通過右上角按鈕查看方法的偽代碼.
然后用Hopper靜態(tài)patch 這個方法昨凡,把光標(biāo)放在[XMUser isVIP]
的第一行匯編代碼上,然后選擇菜單欄的Modify -> Assemble Instruction蚁署,并在彈出的文本框里輸入mov rax, 0x1
便脊,如圖所示:
再點擊 "Assemble and Go Next",然后輸入 ret光戈,在點擊按鈕完成輸入哪痰,修改后的代碼塊會變成白色,最后會變成這個樣子:
這里是什么意思呢久妆?我們在方法的偽代碼中不難發(fā)現(xiàn)最終返回的是一個rax 的寄存器晌杰,其實在x86匯編里,函數(shù)的返回值存放在rax寄存器里筷弦,0x1對應(yīng)BOOL類型的YES肋演,這句匯編的意思就是 將0x1 送入eax 寄存器,因此我們讓[XMUser isVIP] 永遠(yuǎn)返回YES烂琴,告訴蝦米你永遠(yuǎn)都是VIP爹殊。
然后操作就基本已經(jīng)完成了,點擊菜單
File-> Produce New Executable 生成出新的二進(jìn)制文件奸绷,替代原目錄(/Applications/Xiami.app/Contents/MacOS/ ) 中的二進(jìn)制文件(Xiami)梗夸。
重新打開蝦米音樂播放器,接下來就讓320kbps 高品質(zhì)音樂轟炸你的耳朵号醉。
這種是一種比較簡單的逆向方式反症,當(dāng)然逆向的局限性很大,如果想實現(xiàn)更大范圍的hook 還是得使用openDev 等工具來做畔派。
蝦米音樂 for iOS
現(xiàn)在蝦米音樂周杰倫的歌都沒法聽了...不得不說高曉松這個花錢請來的董事長铅碍,還真的是做了些事...
不過接下來不準(zhǔn)備逆向蝦米了,因為不想去用线椰,不過你也可以用以上類似的方法去跳過蝦米的驗證该酗,試聽不能聽得歌曲。
微信運動
你想每天都受到微信好友的關(guān)注么?
想每天霸占你女神/男神微信運動的封面么呜魄?
那么接下來我們只需要5分鐘 三步 就能實現(xiàn)悔叽。
1. 下載破殼應(yīng)用(越獄應(yīng)用)
2. 通過Hopper 修改 微信步數(shù)
首先我們要找到WeChat.app ,我們可以通過解壓工具在WeChat.ipa/Payload/找到并解壓出來爵嗅。
右鍵點擊WeChat.app 顯示包內(nèi)容 娇澎,找到WeChat 二進(jìn)制文件然后拖到Hopper窗口中進(jìn)行反匯編,因為微信應(yīng)用比較大睹晒,反匯編時間可能會有點長趟庄,不過我們可以先把提供步數(shù)的方法找到,等待方法反匯編完成后就可以Patch了伪很,使用上面的提到的老方法即可戚啥,下面是替換后的結(jié)果。
movw r0, #0xffff
bx lr
這里的0xffff 是16進(jìn)制锉试,也就是返回的步數(shù)猫十,你想要多少步直接改這個數(shù)就可以了。
修改完成呆盖,Shift+command+E
生成新的二進(jìn)制文件WeChat拖云。
通過Xcode創(chuàng)建一個作為殼子的項目,要使用有開發(fā)權(quán)限的bundle Id
任意取名应又,選好你的證書描述文件宙项,然后編譯。會生成一個Mytest1.app株扛。
我們需要這個Mytest1.app文件中的embedded.mobileprovision
然后還需要新建Entitlements.plist尤筐, 這里需要用到證書的Team-id,不知道可以在鑰匙串中的證書中找到洞就,注意這里的Team-id 一定要是distribution證書的叔磷。
如: iPhone Distribution: Tian Xiao (ABCDEFGHIB)
中的 ABCDEFGHIB
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>ABCDEFGHIB.dimsky.MyTest1</string>
<key>com.apple.developer.team-identifier</key>
<string>ABCDEFGHIB</string>
<key>get-task-allow</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>ABCDEFGHIB.dimsky.MyTest1</string>
</array>
</dict>
</plist>
所有需要的文件都已經(jīng)生成,然后把embedded.mobileprovision 和修改后的WeChat二進(jìn)制文件拷貝至WeChat.app中替換奖磁。
3. 重新簽名,安裝
接下來我們把WeChat.app 重新簽名繁疤,
codesign -f -s 證書名字 目標(biāo)文件
下面是需要重新簽名的文件咖为,證書名字在鑰匙串中可以找到,注意在這一步需要前面創(chuàng)建的 Entitlements.plist 文件稠腊。
codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXXX)" WeChat.app/Watch/WeChatWatchNative.app/PlugIns/WeChatWatchNativeExtension.appex
codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXXX)" WeChat.app/Watch/WeChatWatchNative.app
codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXXX)" WeChat.app/PlugIns/WeChatShareExtensionNew.appex
codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXXX)" --entitlements Entitlements.plist WeChat.app
打包生成ipa
xcrun -sdk iphoneos PackageApplication -v WeChat.app -o ~/WeChat.ipa
然后就可以通過PP助手安裝了躁染。
友情提示: 切勿開啟暴走模式,讓步數(shù)更真實為好架忌,不然被刪好友了吞彤,可別怪我。
長期霸榜的壞處可想而知,還請各位斟酌饰恕。
注:
本文僅供學(xué)習(xí)交流挠羔,請勿用于商業(yè)用途。
參考: iOS冰與火之歌番外篇