低成本破解学校洗衣机实验(仅供学习)

时间:2023/10/18               (这是作者在大学时记录的实验,成功了之后就复原了,现在临近毕业,回顾了一下感觉当时的自己很多知识没懂,感觉很蠢,但是很有干劲)

实验思路:

我们使用的是**洗衣机,而且是最近才更新过的(换了台新的)我是以为之前有人破解被发现了然后才换的,添加了保护啥的,所以破解热水之后我就没继续破解洗衣机,不过后面还是屈服于钱。做一件未知的感觉比较难的时候,我会考虑先看一下前人的经验,这样可以节省很多时间。上百度搜了一遍之后,确实发现了许多好方法,从硬件上的和从软件上的,不过我最终是用了硬件和软件(嵌入式嘛)结合的方法实现的。硬件上就是拆了外壳,然后换一个另外一个主板(受自己控制的)类似下图这样。然后对应插上电机插座就可以。软件上,大概就是通过抓包小程序或者app,看他们的通讯协议,然后伪造一个假的身份,发送请求给服务器,应答成功就能开启洗衣机。硬件上适用性就比较差,软件上难度比较大。第三种:洗衣机带有蓝牙的操控的,一般都会用串口,用自己的设备模拟相应的串口信息发送给洗衣机,就能实现。

实验过程:早上的时候,我就开始弄,我是先从软件下手,下载了一些抓包软件,例如wireshark,小黄鸟…啥的,还特地去看了哔哩哔哩上的教程,大概有一个小时吧。听得不清不楚的,然后自己开始抓包摸索。抓到过类似这样的挺多包,当时看到以为自己快接近成功了

POST /api/userInfo/getCard HTTP/1.1
phone: 21561616161(你app中的电话)
token: 1f33269c35464374a7dac5be56b3d161
phoneModel: HUAWEI
Content-Type: application/x-www-form-urlencoded
Content-Length: 63
Host: qtx2015.com
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/3.2.0

……

mode=1&phone=21561616161&token=1f33269c35464374a7dac5be56b3d161

……..
"msg":"成功",
"success":1,
"rsObj":{
"id":"",
"cardNumber":"",
"orderId":"",
"userId":"",
"type":"",

想着只需要模拟这个包的形式,重发一下让它应答就好了,不过没那么简单,这只是app上的一个小模块而已,其中mode=1&phone=2156….字样中的mode是选择洗衣模式,但是这并不是你按下洗衣后的包,后来发现抓不到app点击洗衣之后的包,其他的都还行,因为专业不是计算机的,也还不知道抓包之后要怎么修改,考虑到时间因素就放弃了。这个时候来到下午了,舍友们大部分都去上课了(破解热水的时候也是这个时候),我就想着把洗衣机拆了看看里面的电路吧。首先第一个困难就是拆洗衣机的外壳,不知道咋拆,上网看了视频,才知道洗衣机前面还有两螺丝,只不过是被塑料螺丝帽遮住了,防水也防盗吧,不过网上说用镊子可以取出来,然后就成功了。拆了洗衣机的上盖之后,就可以看到电路板了。

左边那块绿色板就是通讯板,右边是主板,通讯板和主板通过串口连接,通讯板发送信息给主板,主板启动洗衣机。这个时候就萌生了想要从串口下手的想法,就是用电脑连接通讯板,用app开启洗衣机,然后通讯板会发送信息,电脑就可以获取到,但是串口要涉及到波特率,波特率不对的话信息也不对。我查找了通讯板上的芯片,是EC800M,网上说它的默认波特率是115200,常用的也就是115200和9600,用电脑接受后,发现它每隔一段时间就会发送一个数据包,200ms左右一次,(后面才知道这是为了实时知道洗衣机的状态),然后我在手机上点击洗衣之后,数据就会变,然后变的这个数据就是使得洗衣机动的信息了。有时候没有点击洗衣,数据也会变,我也想不明白可能是数据出错还是软件设置的。我拿着这个数据用电脑发送给洗衣机时,发现并不成功,我又换了波特率试还是不行。然后就要去上课了。晚上上课回来接着搞,我又查了主板有没有串口芯片,想看看波特率到底是多少,但是没找出来,然后我又想,主板是不是也能发送数据,这会不会影响到洗衣机工作,于是为了更加方便地看到他们之间的信息通讯,想到了串口是可以一对多的传输,于是我就接了这样的电路,就是通讯板和主板正常连接,中间再插上电脑串口的RX口,接受他们的数据,结果发现,主板也是能发送数据的,通讯板每隔一段时间发送的数据包,主板都会有回应,回应的是它此时的状态,类似于这样,也就是说发送了正确的数据的话,主板都是会有回应的,于是我还是用之前的办法,复制了通讯板发送的信息,用电脑再发送给主板,但是失败了,换了几次波特率也不行,按道理来说是可以的,但是为什么不行呢,我很纳闷那时候,因为在阳台的环境也不怎么好做实验,想是不是哪里出问题了,还是说它有加密,其实不用连接串口的,通讯板远程操控都可以,这些后面都排除了,还去网上找自动检测波特率的装置或者方法,后面还是没有,我都想放弃了,然后我当时也找到有类似的智能洗衣机的通讯协议,手册什么的,不过不是这个品牌的,我看到它们发的数据包帧头都是AA,然后我就换波特率,换换换,然后看到一个帧头是AA的,此时的波特率是2400,这个波特率很小,我没看到过哪个用2400的,像常用的蓝牙模块HC05都只支持最低到4800,我就抱着乱试的心态,复制次波特率下通讯板的信息,发送给了主板,结果!它回应了!没错!有回应了!这意味着发送的数据是对的,之前的想法都是正确的!

[21:03:32.684]发→◇AA 00 9A 00 00 DA 0D 55 □
[21:03:32.767]收←◆AA 06 00 00 01 00 07 D6 34 55 
[21:03:48.157]发→◇AA 00 9A 00 00 DA 0D 55 □
[21:03:48.241]收←◆AA 06 00 00 01 00 07 D6 34 55 
[21:04:30.559]发→◇AA 00 9A 00 00 DA 0D 55 □
[21:04:30.642]收←◆AA 06 00 00 01 00 07 D6 34 55 
[21:04:31.411]发→◇AA 00 9A 00 00 DA 0D 55 □
[21:04:31.494]收←◆AA 06 00 00 01 00 07 D6 34 55

我激动得都要跳起来了,跺脚,喊着我靠!,因为手机没电了,去充电,然后回来再试,发现又没有回应了,而且在波特率下,通讯板发送的消息偶尔也会变化,这意味着数据不稳定,又让我觉得波特率又错了,可我检查了我刚刚的回应是没有问题的。我跟朋友发消息说,我在黑暗中摸索,突然看到了火光,不过它闪了一下就灭了,我怀疑是我出现了幻觉,她一直鼓舞着我。后面检查了一下,才知道是线断了,接上去之后,又有回应了。接下来就好办了,分别用手机点击不同模式的洗衣,看看通讯板发送的数据包是什么,记下来,然后用蓝牙或者单片机发送就可以了。我记下来的是这样子的:

AA 01 9B 04 03 1B 40 55  脱水

AA 01 9A 03 02 0A 6F 55  快速洗 水位中

AA 01 9A 01 02 A9 16 55    强力洗,水位中

AA 01 9B 08 03 D1 E5 55      洁桶

然后时间就到了十二点多,供应热水时间已经过了,还好之前破解了热水器,可以继续洗个舒服的热水澡,等买的蓝牙(几块钱)到了,装到洗衣机上就ok了。

                                                                                                                              2023/10/19

之后作者又想挑战一下,想去弄一下电表,由于电压太大,被炸了之后,便没有后续。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值