破解的一款抓包工具,debug proxy,教你怎麼修改so
1.這個軟體可以在google play裡搜到,很不錯,用來抓取手機裡app的網路請求,可以模擬弱網路,抓取部分http等,是一個很好用的網路除錯工具。下載地址:https://pan.baidu.com/s/1i5qw6Zb
2.這個apk只有在Google play裡下載安裝才能正常使用,其他路徑下載的不能正常使用。
這個apk只有一個so,破解還是比較容易,用ida開啟so,按F5,可以看到做了校驗的地方,
第一個是installerPackageName
第二個是簽名,
第三個是是否開啟了除錯模式(因為我沒有在Manifest裡配置,手機是root後開啟系統除錯了,這裡沒改)。
先看第一處,
這裡對installerPackageName做了校驗,獲取到v16如果為null, 就會失敗,並且通過命令列或者某些手機安裝器安裝的話,會返回null,所以通過別的途徑的安裝後不能使用,會被標記為破解的
這個對應的指令為:
當然你也可以直接修改賦值R5一個com.android.vending的字串,但是我沒數賦值字串的指令夠不夠
修改後對應的指令為
這樣最後R5裡就是一個jString "com.dans.apps.webd"。為什麼這樣修改呢?因為後面R5裡還要使用轉化成c的String,所以避免麻煩修改後面直接改這裡,所以需要給R5一個jString。
第二修改對installerPackageName的判斷
通過R5裡拿到的 "com.dans.apps.webd" 會和 "com.android.vending"比較,
如果一樣會到條件loc_16DC0裡,很明顯我們修改過上面後,到這裡是不一樣的,
所以我們改成CBNZ R0, loc_16DC0, 這樣就破解了對於安裝器包名的校驗了
第二個是對簽名的校驗:
因為我們重新打包後,簽名會改變,所以這裡簽名是通不過的,這個改起來也很簡單,
相等的話,會走到條件loc_16EF0裡,我們可以改下面MOVS這行,改成CBNZ R0, loc_16EF0
這樣,無論他是否相等,都會走到正確的條件裡了
這兩處是對so裡的破解,java層還有對是否購買服務的判斷,只要修改boolean值就行。
對於arm指令轉hex的工具,這裡有一個線上的很好用,推薦給大家
http://armconverter.com/