記錄移除Folo Google 服務驗證的過程
2 min
雖然已經有了部署在Serv00上的Miniflux,用起來很方便也沒有被牆,還是想再體驗一下Folo的安卓版。
之前就嘗試過Windows上的Folo,效果還不錯。安卓上的Rss閱讀器沒有一個能讓我完全滿意的,當時Folo還沒有出安卓版,最近看了一下出來了想體驗一下。
Github release上沒有編譯好的安卓版本,找來找去似乎只有谷歌商店有了。我沒啟用谷歌套件(主要是為了省電,應該能省點電吧)。平時我就直接用Aurora Store,安裝Folo不知道為什麼失敗,就在APKPure上面安了。
打開後發現過幾秒鐘就會彈窗Something went wrong,是一個缺少谷歌服務的提示。關了之後軟件就會退出。
首先用MT管理器提取安裝包,再把xapk轉成apk,沒有加殼和混淆,很好。
搜索範圍選方法名,發起搜索找到很多個isGooglePlayServicesAvailable的檢驗,全部修改返回true。然而還是不行。
通過算法助手pro定位彈窗,定位到com.pairip.licensecheck.LicenseClient.connectToLicensingService。
Google Play App Integrity (原名 App Licensing / LVL) 的高級保護方案,通常被稱為 PairIP。
把LicenseClient這個類好好修改了一下。
- 廢掉連接請求 (
connectToLicensingService) 這個方法是啟動授權檢查的入口。我們讓它在啟動時就直接結束,根本不去連谷歌商店。
修改後:
.method private connectToLicensingService()V
.registers 1
# 直接返回,什么都不做
return-void
.end method- 廢掉錯誤處理 (
retryOrThrow) 應用在連接失敗或驗證不通過時會調用這個方法來彈窗。找到.method ... retryOrThrow(...)V。
修改後:
.method private retryOrThrow(Lcom/pairip/licensecheck/LicenseCheckException;)V
.registers 2
# 哪怕报错了,也直接返回,不准弹窗,不准退出
return-void
.end method測試一下,現在就不會彈窗了。