1、目標
這兩年不多看新聞和資訊了,基本新瓜的來源都是公衆號了,這是否是也算被信息繭房了?算法
今天就看看這個資訊App吧,目標就是它 signature安全
這個簽名有點意思,不像md5之類的數字字母,也不像Base64微信
2、步驟
Jadx搜索 "signature"
結果很少,才26個,大不了一個一個看過去。函數
第一個點進去是它,再點進去看看學習
這個明顯不對,它生成的是相似 32位md5的字符串。this
不想一個一個找了, 看看它的兄弟參數能不能縮小點範圍?3d
Jadx搜索 "searchentry" 和 "eventid"
才8個結果,開心多了。點進去看看code
不開心,只有 searchentry 和 eventid 賦值,沒有找到 signature 的賦值。blog
這裏介紹一個小技巧。在 mo63380j() 這一行上點右鍵, 查找用例 ,就能夠把調用了 mo63380j 函數的全部函數給找出來。md5
再翻翻,頭都暈了,仍是沒有找到 signature 的相關痕跡。
繼續找 "signature"
感受路走錯了咋辦?及時回頭,及時止損。咱們回過頭來繼續搜索 signature 吧,不過26個嘛,一個一個翻。
這哥們嫌疑比較大,竟然最後還調用了Native函數,盤它。
掛上心愛的Frida
var SignUtilCls = Java.use("com.yxdxxx.news.util.sign.SignUtil"); SignUtilCls.signInternal.implementation = function(a,b){ var rc = this.signInternal(a,b); console.log("inStr = " + b); console.log(">>> rc = " + rc); return rc; }
來吧,跑一跑
[MI NOTE Pro::com.hxxx.yxdxxx]-> inStr = yxdxxx5.7.7.21k6lwwmig_1620885238340_91028401 >>> rc = AQ-exTbeIxgwJNiKPYQihZuzQOtyeV9v_93SvtH74beFqRgCvU9-O7onF3__WtnEwHHe84_nkFDDSIkh1a4VDE2xMj4l86XfDy09EO_hMbFHNbGAWRImIxNbGF9Ihlp-tSEs0N6c1rmNTjjxpKMowTsYfoPKuSJTtHNHy7xTrU4
太棒了,這就是咱們要的結果。
3、總結
不要嫌麻煩,總想找捷徑,結果還不如一個一個翻,慢就是快。聰明人肯下笨功夫才厲害!
Native也是指路標之一,9021年了,有追求的算法都放到Native裏了。
面對呼嘯而至的時代車輪,咱們必須加速奔跑。有時會力不從心,有時會浮躁焦慮,但必須適應。它能夠輕易地將每個落伍的個體遠遠拋下,碾做塵土,且不償命。
TIP: 本文的目的只有一個就是學習更多的逆向技巧和思路,若是有人利用本文技術去進行非法商業獲取利益帶來的法律責任都是操做者本身承擔,和本文以及做者不要緊,本文涉及到的代碼項目能夠去 奮飛的朋友們 知識星球自取,歡迎加入知識星球一塊兒學習探討技術。有問題能夠加我wx: fenfei331 討論下。
關注微信公衆號: 奮飛安全,最新技術乾貨實時推送