看完了初級篇的常規模式以後,你是否是發現了一個很嚴重的問題:若是每一個APP都須要這麼反編譯看代碼仿寫的話,那麼當想要大批量爬不一樣的APP的時候,光是找加密參數的生成部分就已經很花時間了,有沒有更快捷的辦法呢?瀏覽器
答案是有的,並且對於初級篇水平的APP來講,這個操做可讓你在一分鐘內直接秒掉它的加密參數部分,能夠說是一種降維打擊了!網絡
那麼這個效果是怎麼作到的呢?其實很簡單,就是直接將Java標準庫中常見的被用於生成加密參數的方法給Hook了,監聽它們的輸入參數和返回值,這樣就能直接獲得加密、Hash前的原文、密鑰、IV等內容了,怎麼樣?是否是很簡單?框架
小提示:之因此不提Kotlin,是由於在Kotlin下寫加密、Hash操做的代碼時若是不使用第三方庫的話,就只能調用Java的標準庫了,而第三方庫的類名、方法名可能性太多了,不像標準庫那樣能夠直接秒殺一大片,因此不屬於本系列初級篇內容。(已詢問多位Android開發同窗驗證此結論)tcp
因此...要怎麼操做呢?其實目前已經有一個很是方便的、基於Xposed框架編寫的、能實現這種效果的工具了,它就是——Inspeckage。這個工具其實我在前面的《寫APP爬蟲會須要用到哪些工具呢?》文章中有提到過,它已經將標準庫中經常使用的加密、Hash方法都給Hook了:工具
而在你須要的時候,只須要打開Inspeckage -> 選擇須要Hook的APP -> 打開Inspeckage的Web端或者在日誌中搜索你所須要找的加密參數就能夠獲得原文和使用的加密、Hash類型,直接秒殺!加密
接下來我將繼續使用前面常規模式中的Demo APP來進行演示,若是你火燒眉毛地想要嘗試了的話,能夠發送消息【APP加密參數破解初級篇代碼】到個人公衆號[小周碼字]得到Demo APP的下載地址,注意是發送【APP加密參數破解初級篇代碼】,上一篇中有人發的是「小周碼字」,還問我爲啥沒有反應...日誌
話很少說,咱們開始實戰,首先咱們須要準備一臺已經安裝好Xposed框架的Android手機,而後在Inspeckage的GitHub倉庫中下載最新編譯好的Inspeckage安裝包或直接在Xposed管理器中安裝它。code
裝好後記得在Xposed管理器中將它啓用,啓用後須要重啓生效。cdn
準備好了環境以後,咱們就能夠開始破解這個Demo APP了,打開Inspeckage,點擊「choose target」選中想要Hook的APP(這裏選擇「APP加密參數DEMO-初級篇」)。blog
選中後點擊「LAUNCH APP」按鈕就能夠了。
小提示:若是在這以前你打開過指定的APP的話,須要將其強制中止後再點擊「LAUNCH APP」按鈕,不然可能會出現Hook失敗的狀況。
在啓動以後咱們就能夠在Inspeckage的Web端或日誌中搜索sign的加密後參數了,這裏說一下怎麼操做:
Web端
Web端的話,若是你的手機和電腦是在同一個網絡環境下,且手機和電腦能互通,那麼你能夠在電腦上直接用瀏覽器訪問手機上顯示的內網IP地址(如http://192.168.137.64:8008
);若是你的網絡環境使你不能這麼操做的話,你還能夠用adb命令adb forward tcp:8008 tcp:8008
將手機上的8008端口映射到電腦上,而後就能夠直接訪問http://127.0.0.1:8008
了(須要8008端口未被佔用)。
在打開了Web端以後,將頁面上方那個扳手按鈕右邊的自動刷新選項打開,就能夠看到被Hook出來的東西了。
日誌
可使用adb命令adb logcat
來導出日誌而後查看,或者是用像Android Studio中的logcat工具這種流式、帶搜索功能的工具來查看。另外若是在Web端找到對應的加密參數時,原文過長致使出現被截斷的狀況,也能夠在日誌中找到對應的內容進行查看,打到日誌中的會是徹底體。
以後依然是常規流程,先抓個包看看。(再次提醒,若是你抓不到包的話,先看看我以前的抓包系列文章,這是基本操做!)
這裏咱們抓包後獲得了一個sign:188c338423f3af3c2c0277946de958f8
,直接將它複製出來,而後在Inspeckage的Web端中的Hash欄內搜索(日誌內搜索直接搜sign的內容便可)。
看到了嗎?直接就獲得了它的原文:brand=Xiaomi&device=capricorn&model=MI 5s&ts=1560859682&version=8.1.0
了,輕輕鬆鬆地就破解了這個APP的sign參數,全程只用了一分鐘!
這個時代各類東西變化太快,而網絡上的垃圾信息又不少,你須要有一個良好的知識獲取渠道,不少時候早就是一種優點,還不趕忙關注個人公衆號並置頂/星標一波~
發送消息「APP加密參數破解初級篇代碼」到個人公衆號【小周碼字】便可得到demo代碼和APP的下載地址~