• 注册
当前位置:1313e > 默认分类 >正文

ios开发怎么接入面容id_谈谈数盟可信ID的技术原理

3f7b0f33b0245999cf5a6afc051ec580.png

目前市场上的APK,对于数盟可信ID的认可度已经变的很高了。从数盟的官网,96%的识别率已经在业内是很高的了。依靠如此单一的业务能够存活6年之久的公司,说明了这个技术的厉害之处。

处于对于此技术的好奇,今天我们就探讨下它的基本原理。

测试验证

1.同型号的不同手机,相同ROM版本,数盟ID不一样

2.同一台手机,不同ROM版本,数盟ID保持不变

3.同一台手机,修改设备信息(IMEI,MAC,sn,androidID...),数盟ID保持不变

结论:数盟ID不会根据设备信息及ROM版本的变化而变化。用做应用的可信ID是完全没问题的。

代码分析

从市面上接入使用数盟ID的应用分析,可以发现技术核心源码编译到了libdu.so当中。那么很多人会想要通过逆向工程去解读so的原理。这么大一家公司,如此核心的技术怎么可能那么轻易就被破解呢。

另辟蹊径,通过分析系统被调用情况,我们可以发现他的基本工作原理。

libdu.so被应用程序加载后做了什么事情?

1.尝试未授权的情况获取MAC,deviceID,imsi等设备信息。android8及以上已经权限限制了。所以可看到访问受限。

7404d113179663778b25ca43128f4dee.png

2.通过sensors-hal获取了相关传感器信息

a6e976e360bd1449ae141d3f83a4b8e9.png

3.通过OpenGL接口,进行了GPU相关的操作行为。

222f83f2762cc707c96686b4824291f1.png

4.其他细节信息。系统排查当中,后续更新。

总结

不同的硬件器件(包括各种传感器,GPU等)在生产时存在细微物理差异。那么对应数据的处理能力上也会存在细微的变化。通过硬件数据处理结果,加上对应的算法提取其中特定的指纹特征。完全可以实现可信ID的实现方案。

世界上没有完全相同的两片树叶。这就是数盟可信ID技术可实现的基础。

PS:以上信息仅供学习研究。欢迎大牛探讨。


重点来了:

经过两周持续验证分析,笔者发现之前分析的方向都是错误的。

  1. GPU的差异性。
    此差异是存在的。但是安卓上层是无法通过所谓的厉害的算法运算得出GPU的特征指纹。
    所以无法用来生成可信ID。
  2. sensors信息差异性。
    此差异是存在的。但是相同的机器,同样的器件是一致的。
    所以无法用来生成可信ID。
  3. MAC,deviceID,imsi的差异性。
    此差异是存在的。但是及其容易被修改伪装。
    所以无法用来生成可信ID。

那么如何生成“所谓的”可信ID呢?(注意:笔者说的是“所谓的”)

还是通过底层获取了手机硬件的特定ID,生成了“所谓的”可信ID。

市面宣传说的靠各种厉害的算法及大数据能有效生成可信ID,但其实主动权在google测。而且类似数盟这种不敢开源的技术基本都是经不住有效性认证的。华丽的包装下是否有真实的内在,不得而知。

通过测试我们已经发现可以在不换rom不更改任何硬件器件的情况下更改此可信ID。

只需要通过技术手段修改手机端某特定ID即可。

PS:此技术不便公开,仅个人学习研究。就像为什么此类公司不敢公开技术一样的,靠的就是这个信息差存活下来。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录