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算法,无法凭其特征猜测出其采用的算法

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