首页
社区
课程
招聘
[原创] 深思灵锐I协议分析
2022-3-17 23:54 13141

[原创] 深思灵锐I协议分析

2022-3-17 23:54
13141

前言

最近疫情隔离,就花了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一起算一遍,就得出结果了。

其他api函数

没什么好说的,基本上都是固定的数值,锁内block数据都是死的,直接读出来就行了。

Dump思路

通过gethardwareinfo方式拿到开发商编号,唯一序列号,版本号等信息。

通过调试拿到3种key,如果有软件sha1的话可以直接拿到sha1的key,拿到了key,就可以直接dump出10个模块的所有内存。aes加解密可以通过抓码表的方式提取数据。

结尾

协议编码

通过调试分析和整理,我总结出了这些编码指令
case 0: // LIV_password
case 1: // LIV_change_passwd
case 2: // LIV_get_hardware_info
case 3: // LIV_read
case 4: // 3.x版本之前的写
case 5: // 3.x版本之前block的写
case 6: // 3.x版本之前的写结束
case 7: // LIV_write_prepare
case 8: // LIV_convert AES enc dec
case 9: // LIV_hmac_sha1
case 10: // LIV_update_block
case 12: // LIV_get_version_info
case 13: // LIV_flash_led
case 64: // LIV_write_ex
case 65: // LIV_set_passwd_ex
case 66: // LIV_HMAC_SHA1
case 67: // LIV_update_block_ex
case 68: // LIV_write_auth_key_ex

修改数据

通过逆向协议编码后,改改配置还不是小case

其他

官方有一个搞笑的BUG

如图,他会比较锁的版本号是不是等于3.0.0,如果是的话就走新增的高级api通道。而我的锁版本是3.0.1,就无法走高级通道。
这里的逻辑应该是
如果版本>= 3.0.0 则走高级通道。
结果我手上版本是3.0.1,就被当老版本的来处理了。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2022-3-18 00:00 被xiaomajia编辑 ,原因:
收藏
点赞5
打赏
分享
最新回复 (5)
雪    币: 88
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
skip2 2022-3-18 08:34
2
0
又一个狗被炖了!
雪    币: 86
活跃值: (903)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
luzhmu 2022-3-25 09:56
3
0
支持一个
雪    币: 23
活跃值: (198)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hehaohw 2022-3-30 15:53
4
0
我手里有大把的狗,留个联系方式,供你研究。
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
silenc168 2022-5-10 17:33
5
0
有时间研究一下这个吗?https://github.com/ackurdeeve/Dbprodll   方便留个联系方式吗?
雪    币: 34
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
大唐奔波儿灞 2023-6-24 08:38
6
0
大佬,我的这类锁读取不到数据是啥情况?
游客
登录 | 注册 方可回帖
返回