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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值