Platform: RK3288
OS: Android 6.0
Kernel: 3.10.92
现象:
在前面已经解决了缓存文件引起值相同的问题后,依然还会报,不过这次是算法问题引起的。
参考: [RK3288][Android6.0] 调试笔记 — 缓存文件引起的serialno值相同
分析:
两台机器的WiFi MAC地址分别是:
28:ED:E0:3A:DC:F9
28:ED:E0:3A:DC:BA
打开drmservice debug log,发现算出来的两个seed值最终居然凑巧一样。见图中seed[0]和seed[1]的值。

原因:
计算seed函数如下:
void calc_seed_by_mac(char*mac,unsigned int * seed)
{
unsigned i

在RK3288平台、Android 6.0系统和3.10.92内核上,调试发现即使解决了缓存文件问题,仍出现serialno值相同的现象,原因是算法导致。分析中提到,两台设备的WiFi MAC地址不同,但在drmservice的日志中,seed值计算结果意外相同。解决方案是调整计算seed的倍数值。问题与ASCII码对照表有关。

最低0.47元/天 解锁文章
7214

被折叠的 条评论
为什么被折叠?



