Android逆向之avbobo獲取設備唯一碼機制分析

最近在研究Android設備唯一碼問題,發現avbobo獲取的機制有點有趣,具體分析如下:

RN

其開發採用RN引擎開發的,核心代碼用js寫的,放在apk/assets/index.android.bundle文件下,直接分析該文件即可

Sdcard

經過測試其打開後會在/sdcard目錄下新建一個以*.id.txt格式明名的文件,裏面內容格式如下: xxxxxxxxxxxxxxxxxxxxxxxxxxxx|xxxxxxxxx

ID生成算法

在bundle文件搜索該文件名找到如下代碼

可知其內容生成規則爲hash(uniqueId+"fake"+hash("nR9I694ZiYHDN3iqWtYYjJTui20W7hAK7OswKO0zeM"))+"|"+uniqueId

至於uniqueId如何生成的,往下看

RNDeviceInfo經過全局搜索定位到其所在類名爲com.learnium.RNDeviceInfo.RNDeviceModule

具體獲取uniqueId如下

即設備的android_id值

而上面的hash經猜測並驗證爲md5計算

因此最終的設備唯一碼生成規則如下:

md5(android_id+"fake"+md5("nR9I694ZiYHDN3iqWtYYjJTui20W7hAK7OswKO0zeM"))+"|"+android_id

總結

ID生成算法簡單,就一個MD5計算,知道了算法可以通過外部修改,不用修改應用程序,直接修改那個*id.txt文件內容就行

建議採用更加複雜的hash算法,無法憑其特徵猜測出其採用的算法

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