|
本帖最后由 tommmmmy 于 2025-4-10 15:48 编辑
最近从网上购买了一个带蓝牙编程的电动车控制器,装上控制器后,突然想到,如果这个蓝牙模块突然坏了的话,那不就无法和控制器通讯了,所以在网上去搜索,在PDD发现这个蓝牙模块还不便宜,要几十块一个,那些蓝德,远驱控制器的蓝牙模块更贵,真的是妥妥的割韭菜。于是有了克隆蓝牙模块的想法。首先说明一下,本人不是码农,不是很懂代码
这个是网购的可编程的控制器,带蓝牙模块的。小程序名字:启航再扬帆,欢迎大神参与尝试
这个是所配套的小程序的主界面
原本以为事情会比较顺利,从网上买了MX-01P蓝牙模块,发现按顺序接好Vcc,Gnc,RX,TX,四条线,注意RX和TX需要对调才能使用,最后发现,小程序会屏蔽掉我的模块,只能识别原来的模块,所以我在论坛里面开始搜索相关资料,得知可能需要修改模块的mac,adv广播包,广播名称,uuid等才能识别。
通过查询模块的技术文档,运用AT指令修改了模块的参数,小程序就识别到了我的模块,但是连接模块是,却提示蓝牙设备不合法。
多次尝试之后,发现小程序在断网的情况下,依旧能准确识别合法和非法的蓝牙模块,所以我大概率猜测,小程序的背后并没有服务器数据去校验模块的合法性。
于是又有了新的想法,就是把小程序搞下来,解包,分析里面的代码。
找一台有root的手机,打开re管理器,找到路径:data/data/com.tentcent.mm/MicroMsg/appbrand/pkg,里面有4个文件夹,建议直接把这4个文件夹,全部删除,再去微信里面打开一次小程序,小程序会单独下载下来,这样就不用一个个去找了,最后把整个pkg文件夹复制到电脑上,解包
一般小程序会放在general这个文件夹内
接下来将这个wxapkg的格式文件进行解包,这里会用到专用的工具,WxApkgUnpacker.exe,软件会打包好,作为附件供下载,解包后的文件也会上传,供大家一起研究。
尝试过用记事本打开查看代码,但是发现没有排版,代码很多很乱,于是下载了vscode去查看里面的代码,通过把整个文件夹打开,全局搜索,最终定位到了校验蓝牙设备的相关代码。
最终定位到了1939行这里。代码文件已用DS分行整理了
个人不会分析代码,所以把整行代码给到了deepseek去分析,接下来就看看ds的表演。
目前的结果就是卡在这里,本人不懂代码分析,只是根据ds的分析作出判断,大概的结论就是,小程序会通过模块的特定广播包去识别模块,非特定广播包的蓝牙模块将被屏蔽,接下来将会对模块的uuid进行识别,其中会识别通知服务和写服务通道的的uuid,两个uuid匹配成功的话,就等于1,两个uuid的结果相加等于2时,则设备合法,广播包能识别到,和uuid能过,该设备就合法。
最后在这里求助一下论坛的大神,看能不能破解这个设备校验的问题,目前只是把原设备的uuid读出来了,克隆到新的设备上,依旧提示设备不合法,实在是想不到有什么好办法去分析了。
这边放出原模块的raw数据,0x0201060502E0FFCOFFOC09584943482D3 537383339340512100020000EFF6E8601383 B2657839402000311
还有uuid,00010203-0405-0607-0809-0a0b0c0d1912,00010203-0405-0607-0809-0a0b0c0d2b12,0x2901
并附上软件的截图,有兴趣的朋友可以拿自己的模块尝试连接,小程序的名字是:启航再扬帆
补充内容 (2025-4-13 11:37):
最新的帖子,希望大家喜欢!!!
破解微信小程序识别蓝牙模块的逻辑(已成功)完结
https://www.mydigit.cn/forum.php ... amp;fromuid=2205679
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|