當你寫爬蟲遇到APP的請求有加密參數時該怎麼辦?【初級篇-秒殺模式】

看完了初級篇的常規模式之後,你是不是發現了一個很嚴重的問題:如果每個APP都需要這麼反編譯看代碼仿寫的話,那麼當想要大批量爬不同的APP的時候,光是找加密參數的生成部分就已經很花時間了,有沒有更快捷的辦法呢?

答案是有的,而且對於初級篇水平的APP來說,這個操作可以讓你在一分鐘內直接秒掉它的加密參數部分,可以說是一種降維打擊了!

 


 

那麼這個效果是怎麼做到的呢?其實很簡單,就是直接將Java標準庫中常見的被用於生成加密參數的方法給Hook了,監聽它們的輸入參數和返回值,這樣就能直接得到加密、Hash前的原文、密鑰、IV等內容了,怎麼樣?是不是很簡單?

小提示:之所以不提Kotlin,是因爲在Kotlin下寫加密、Hash操作的代碼時如果不使用第三方庫的話,就只能調用Java的標準庫了,而第三方庫的類名、方法名可能性太多了,不像標準庫那樣可以直接秒殺一大片,所以不屬於本系列初級篇內容。(已詢問多位Android開發同學驗證此結論)

所以...要怎麼操作呢?其實目前已經有一個非常方便的、基於Xposed框架編寫的、能實現這種效果的工具了,它就是——Inspeckage。這個工具其實我在前面的《寫APP爬蟲會需要用到哪些工具呢?》文章中有提到過,它已經將標準庫中常用的加密、Hash方法都給Hook了:

 

 

 

 

而在你需要的時候,只需要打開Inspeckage -> 選擇需要Hook的APP -> 打開Inspeckage的Web端或者在日誌中搜索你所需要找的加密參數就可以得到原文和使用的加密、Hash類型,直接秒殺!

接下來我將繼續使用前面常規模式中的Demo APP來進行演示,如果你迫不及待地想要嘗試了的話,可以發送消息【APP加密參數破解初級篇代碼】到我的公衆號[小周碼字]獲得Demo APP的下載地址,注意是發送【APP加密參數破解初級篇代碼】,上一篇中有人發的是“小周碼字”,還問我爲啥沒有反應...

 


 

話不多說,我們開始實戰,首先我們需要準備一臺已經安裝好Xposed框架的Android手機,然後在Inspeckage的GitHub倉庫中下載最新編譯好的Inspeckage安裝包或直接在Xposed管理器中安裝它。

 

 

裝好後記得在Xposed管理器中將它啓用,啓用後需要重啓生效。

 


 

準備好了環境之後,我們就可以開始破解這個Demo APP了,打開Inspeckage,點擊“choose target”選中想要Hook的APP(這裏選擇“APP加密參數DEMO-初級篇”)。

 

 

 

 

選中後點擊“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的下載地址~看完了初級篇的常規模式之後,你是不是發現了一個很嚴重的問題:如果每個APP都需要這麼反編譯看代碼仿寫的話,那麼當想要大批量爬不同的APP的時候,光是找加密參數的生成部分就已經很花時間了,有沒有更快捷的辦法呢?

答案是有的,而且對於初級篇水平的APP來說,這個操作可以讓你在一分鐘內直接秒掉它的加密參數部分,可以說是一種降維打擊了!


那麼這個效果是怎麼做到的呢?其實很簡單,就是直接將Java標準庫中常見的被用於生成加密參數的方法給Hook了,監聽它們的輸入參數和返回值,這樣就能直接得到加密、Hash前的原文、密鑰、IV等內容了,怎麼樣?是不是很簡單?

小提示:之所以不提Kotlin,是因爲在Kotlin下寫加密、Hash操作的代碼時如果不使用第三方庫的話,就只能調用Java的標準庫了,而第三方庫的類名、方法名可能性太多了,不像標準庫那樣可以直接秒殺一大片,所以不屬於本系列初級篇內容。(已詢問多位Android開發同學驗證此結論)

所以...要怎麼操作呢?其實目前已經有一個非常方便的、基於Xposed框架編寫的、能實現這種效果的工具了,它就是——Inspeckage。這個工具其實我在前面的《寫APP爬蟲會需要用到哪些工具呢?》文章中有提到過,它已經將標準庫中常用的加密、Hash方法都給Hook了:

 

 

 

 

而在你需要的時候,只需要打開Inspeckage -> 選擇需要Hook的APP -> 打開Inspeckage的Web端或者在日誌中搜索你所需要找的加密參數就可以得到原文和使用的加密、Hash類型,直接秒殺!

接下來我將繼續使用前面常規模式中的Demo APP來進行演示,如果你迫不及待地想要嘗試了的話,可以發送消息【APP加密參數破解初級篇代碼】到我的公衆號[小周碼字]獲得Demo APP的下載地址,注意是發送【APP加密參數破解初級篇代碼】,上一篇中有人發的是“小周碼字”,還問我爲啥沒有反應...


話不多說,我們開始實戰,首先我們需要準備一臺已經安裝好Xposed框架的Android手機,然後在Inspeckage的GitHub倉庫中下載最新編譯好的Inspeckage安裝包或直接在Xposed管理器中安裝它。

 

 

裝好後記得在Xposed管理器中將它啓用,啓用後需要重啓生效。


準備好了環境之後,我們就可以開始破解這個Demo APP了,打開Inspeckage,點擊“choose target”選中想要Hook的APP(這裏選擇“APP加密參數DEMO-初級篇”)。

 

 

 

 

選中後點擊“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的下載地址~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章