-
-
[原创] 深思灵锐I协议分析
-
发表于:
2022-3-17 23:54
14467
-
最近疫情隔离,就花了1天时间把灵锐分析了一下,废话不多说,直接上干货。
这款加密锁功能,总结一下就是有HMAC_SHA1、AES,以及10个模块。每个模块可以存储512个字节的数据。
权限可以分为三种:管理权限、普通权限、认证权限。
通过分析LIV_open我们可以跟踪到LIV_set_key函数
通信KEY头部永远是0x1000CD0B,然后开始用随机数生成通信KEY,接着使用固定的aeskey xor 5B之后对其进行AES算法变换,头部4个byte作为后续通信加密用的xor key。并把数据通知给锁。
后续通信所有数据都是用这个简单的xor加解密。后面的分析就犹如庖丁解牛一般的简单了。
LIV_encrypt/LIV_decrypt
他的内部调用都是走的LIVC_Convert,末尾参数0是加密,1是解密。
这个AESKEY是永远都不知道的,每一个开发商的key都是由官方随机生成后分配的。
LIV_hmac
对sha1的20个字节key 进行xor5c和36,然后先算sha1,再把数据放一起计算,得出结果之后,把后续的36数据算sha1,再把之前算的sha1一起算一遍,就得出结果了。
[注意]APP应用上架合规检测服务,协助应用顺利上架!
最后于 2022-3-18 00:00
被xiaomajia编辑
,原因: