首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Wireshark (蓝牙设备逆向工程)在Web蓝牙中调用writeValue

如何使用Wireshark (蓝牙设备逆向工程)在Web蓝牙中调用writeValue
EN

Stack Overflow用户
提问于 2020-06-29 23:50:09
回答 1查看 239关注 0票数 0

我正在尝试反向工程一个蓝牙设备,这样我就可以创建我自己的应用程序,可以与它通信。

我已经设法从我的Android手机上获取了蓝牙日志,并且还能够通过网络连接到蓝牙设备。

不幸的是,每当我尝试向特征写入值时,都会得到一个错误:bluetooth.html:1 Uncaught (in promise) DOMException: GATT operation failed for unknown reason.

在Wireshark中,我在写请求中找到的值是:0120030000000000

如何在Javascript中发送此消息?我尝试过以下几种方法,但都不起作用:

代码语言:javascript
复制
characteristic.writeValue(0x0120030000000000)
characteristic.writeValue(new Uint16Array([0x0120030000000000]));
characteristic.writeValue(new Uint8Array([0x0120030000000000]));
characteristic.writeValue(new Uint16Array([0x0120030000000000]));
characteristic.writeValue(new TextEncoder("utf-16").encode(0x0120030000000000));

我知道原始值是0120030000000000,如何通过ArrayBuffer发送?

EN

回答 1

Stack Overflow用户

发布于 2020-06-30 12:12:51

假设Wireshark已经将数据编码为十六进制,那么您应该像这样创建一个Uint8Array

代码语言:javascript
复制
new Uint8Array([0x01, 0x20, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00])

如果在程序中将这些数据表示为字符串比较方便,那么可以编写一个函数,通过一次解析两个字符来构建Uint8Array

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62641901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档