BLE-HOGP无感解锁问题分析

1 篇文章 0 订阅
1 篇文章 0 订阅

问题点1

无感解锁的程序发现在手机蓝牙没有加入蓝牙模块的白名单的时候,有些手机与蓝牙模块配对之后也能建立连接并且不会断开。但是这种连接在有些手机端不会显示已经连接,在实验到的一台Iphone8上却显示了已连接(假连接),在蓝牙模块端只是建立了链路层的连接和GATT层的连接,但是不会开启绑定配对。

抓包数据分析

通过对比两台手机的抓包数据,可以看到这两台手机在删除了白名单之后重启手机之后,手机蓝牙和我们蓝牙模块交互的数据的不同。
首先是一台正常的手机在删除白名单之后重启手机蓝牙的抓包数据:
在这里插入图片描述
可以看到手机会主动去连接我们的蓝牙模块,然后连接成功,之后手机发送加密请求LLCP Encryption Request给到我们蓝牙模块,此时我们蓝牙模块响应之后,接着发了一个LLCP Reject Extended Indication给到手机,一般来说此时手机就会删除我们蓝牙之前存储的配对信息并且断开连接。这就是没加入白名单不会反连的过程。

之后是一台不正常的手机在删除白名单之后重启手机蓝牙的抓包数据:
在这里插入图片描述
可以看到对比之前的那台手机的抓包数据,这台手机在建立连接之后并没有发送加密请求LLCP Encryption Request给到我们蓝牙模块,此时我们蓝牙就不会发一个LLCP Reject Extended Indication给到手机,导致不会启动配对,也不会断开这样的连接。直到我主动关闭手机蓝牙才会断开连接。Remote User Terminated Connection就是手机端主动断开蓝牙模块连接时我们蓝牙模块的反馈。

问题点2

在我们无感解锁的蓝牙模块上,我们蓝牙模块和手机连接,有些手机会出现在没有加入白名单时,配对之后,重启手机蓝牙,此时点击手机蓝牙的配对列表,正常来说因为我们模块端删除了手机的配对信息会重新开始配对,但是有些手机会出现点击手机端的配对列表不会开始重新配对,而是没反应。只有删除手机端的配对信息之后手机才能再次和我们蓝牙模块配对。

抓包数据分析

同样对比两台手机的抓包数据,第一台手机为正常的数据,见第一张图,下面为一台不正常的手机在删除白名单之后重启手机蓝牙的抓包数据:
在这里插入图片描述
可以看到手机在连接我们模块之后没有加入白名单,之后重启手机蓝牙出现了一直在连接和断开的操作。这里我们可以看到手机端也发送了加密请求LLCP Encryption Request给到我们蓝牙模块。我们蓝牙模块也发送了LLCP Reject Extended Indication给到手机,手机端断开。但是之后手机端又发起连接。这样一直重复。导致了我们在手机设置界面点击连接没有反应。究其原因还是在我们蓝牙模块发LLCP Reject Extended Indication给手机之后手机端并没有删除我们蓝牙的配对信息。

参考

在这里插入图片描述
目前遇到的这两个问题都不太好解决。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值