小米手环4 NFC版玩转自定义表盘/开米家锁/模拟加密卡,一篇就够
前言:这是一篇有料的良心原创汇总经验记录,其实我完全可以分成3篇来发,但偏偏、雨渐渐大到我偏不~,玩转小米手环4 NFC版,看我一篇就够了,还有部分工具问题的独家解决方案提供。
家里装的是小米米家智能门锁,好几个月前就说即将支持手环NFC开锁,家里没有NFC手机,也没有小米手环3NFC,就一直没用到这个NFC开锁功能。直到前段时间刷到一条微博,说新发布的小米手环4NFC支持米家门锁开门了,不免引起了我的好奇,与此同时,家里指纹较浅的妹子开门也有近50%概率出现失败的情况,这不就是提醒我来个米4手环NFC了么。
于是乎在经过了几轮耍猴抢购后,终于在京东捡漏买到了小米手环NFC版,叠加全品类券+红包+白条券+京豆后,202.6元拿下,估计不算最低。其实天猫那边更容易买,但那边说的199拿下是88会员才能用自己消费许久攒起来的3000积分换30元券实现,而京东可以用随意领取的全品类券以及不定时发放的白条券和红包来轻易实现低于229,并且退换货售后更靠谱,所以还是在京东下的单。什么开箱外观都不多说,下面简单粗暴的来点干货。
玩转小米手环4 NFC Part1|自定义表盘布局
这个表盘并不是系统默认,也不是自带的表盘市场里的,虽然小米官方并未提供自定义表盘功能,但并不妨碍像我这样的用户以及第三方工具的折腾。
如果你的手机是安卓,当你在小米运动下载了一个官方表盘后,其实他是存放在Android/data/com.xiaomi.hm.health/file/watch_skin_local目录下,用文件管理器找到最新生成的一个乱码文件夹,里面有3个文件,一个缩略图,一个文件信息的xml文件,最后一个bin格式的就是标盘文件,网上找个工具即可解包。
其实里面内容非常简单明了,背景图、时间、日期、蓝牙、电量等元素的PNG切图文件都直观的呈现,就像做手机主题一样,可以用PS自由设计与调色更换,为避免显示问题,建议另存为PNG-8格式。另外这些元素的布局和位置可以改里面的json文件。最后再用工具打包回bin文件,替换手机里原目录,同步表盘即可。
当然,为了更方便的DIY,这里推荐一个软件,网上有下载,原来叫“米环4自定义表盘”的免费软件,后来由于支持其它品牌和型号的手环表盘DIY,最新版就改名叫“表盘自定义工具”了。下载安装后,首先选择一个布局样式你相对合适的表盘,家里人喜欢芝麻街,为了不遮挡我弄的背景图,我这里选了一个阿狸的表盘作为底包,通过导入背景图、重新自定义部分元素的位置,最后再调整收拾部分元素杂乱的颜色,就完整了我这个芝麻街的表盘,选择黑底是考虑主角是红色,能突出,且收纳克制了其他元素内容都为白色,上下结构也很清晰明了,黑白红也是最经典的搭配,而且黑底也能更加融入手环边缘,让这个表盘在手环里更加一体化不突兀。差点忘记了,这个软件还有网页版和Windows版,适合不同需求场景的用户,链接就不放了,可以自行百度。
最后提交制作,选择添加到我的表盘即可,也可以下载一个修改后的bin文件备用,方便后期追加修改。个人觉得比这个第三方表盘制作工具里的网友分享表盘要清爽干净许多,啧啧。放出下载估计蛮多人喜欢 =。=
玩转小米手环4 NFC Part2|NFC开米家门锁
下一个玩转了,这里直接放上成功后的效果,方便了那些指纹识别不太好的以及想要更加酷炫姿势来开米家门的用户。
由于有官方教程了,这边就不再过多赘述,最主要的是小米运动和米家都必须要登陆相同的小米账号,就比如我这边的场景,家里小米设备都绑定在我的米家APP里,但家中妹子的手环就需要在她手机里注册登录一个她自己的小米账号,并且也下载一个米家APP,登录和小米运动相同的小米账号。这样才能在她的米家APP里的附近设备里找到手环4 NFC设备。注意,不是右上角点添加里的附近设备,而是下面我的设备标签右边最后一个标签,叫附近设备。很多人这里标签多,没找到,都错在这里。
然后这里没什么大问题,在米家APP的附近设备里点击手环4 NFC进入米家精简版的手环软件界面,点击最下方的门卡管理,立即开卡来完成第一步。
接下来就是给这张米家APP给手环开的门卡去贴着家门口的小米门锁去授权激活即可。这里需要注意的是,即便佩戴手环的家人的米家APP没绑定小米门锁也没关系。我这边就是直接拿我手机里的米家APP里打开米家门锁卡片,按照官方标准的NFC设备添加方式,进用户管理/选择用户/添加NFC设备。不用看里面的开卡指引(因为那是给带NFC的小米手机开发流程,希望这步骤后期补全手环NFC的引导流程),跳过引导选择已开卡,然后按提示把家人的手环(手环需要在卡包里把前面开的这张卡设为启用状态)放在米家门锁外的NFC感应区域识别激活即可。然后就能和本章节最前面的GIF图一样,可以轻松的开米家门锁了。
至于用户关心的安全性,小米官方宣称采用的是CPU卡,比我下面要模拟的MI级别的加密IC卡要安全很多。通过MifareOneTool扫描手环里模拟的小米门锁门禁卡也可以看到SAK (SEL_RES)为20。简单百度可以知道SAK:08是M1/S50卡、SAK:18是S70K卡、SAK:20是CPU卡、SAK:28 是模拟CPU卡。至少我这边的MifareOneTool无法复制SAK:20这手环里的小米门锁CPU卡。
玩转小米手环4 NFC Part3|模拟已加密IC卡
手头暂时没有NFC手机,购买了一个工具用来解决加密的M1卡在小米手环NFC上提示不支持模拟的问题(这里主要讲解IC加密卡的复制与模拟,如何区分IC和ID卡这边不再赘述,请百度)。为了平衡价格与保留些小追求的需求,买的是更加省事的一体式PN532与几张UID等可循环读写的复制卡。黑色板子看起来也更加好看,加了个亚克力盖板,摆放门禁卡也可以更加平坦。其实注重实用性的可以买价格更加便宜的红板子的PN532,价格便宜一半,大概二三十块就行。接下来就是开始模拟加密卡了,简单来说就是利用PN532写张带原厂ID号的UID空白卡(我买的是可重复读写的复制卡)让手环复制,然后再把加密数据写进手环。其它不能模拟加密卡的NFC手机也同理。但如果你们小区物业好说话,那就直接小米运动APP里开小米空白卡,拿手环过去让物业给授权激活就行(我们小区物业开那种钥匙扣新卡30块,也可以自己拿几毛成本的空白卡过去,免费写卡),如果物业不给力,那继续看下文。
准备工作,把PN532插上电脑,WIN10上自动会安装驱动,然后把要复制的加密门禁卡放在上面准备读取。
第一步就是用PN532读取手头加密的门禁卡并保存出加密卡的dump文件。我这里用蛐蛐,你们也可以用MifareOneTool或者其它类似软件,也可以问卖家索取,但多数售后技术客服只会给你资料,做不到给你解答具体细节问题,还是只能靠自己。这边读取后可引导SAK为08,是最常见的M1/S50卡,且非全加密卡,仅发现01扇区有加密,那后面就更方便了。蛐蛐待左上角旋转条不动即为读卡成功,一般耗时几十秒,然后会自动更新保存到软件根目录下的key.dump。如果你使用MifareOneTool的话,打开是依次点击检测连接>扫描卡片>检测加密>一键解原卡,1.6.5及之前版本点了一键解原卡,会跳出对话框,让你手动保存一下这个读取的原始加密的dump文件。1.6.7左右开始的版本是和蛐蛐类似,自动保存软件根目录的auto_keys文件夹内,根据提示找到xxxx.mfd文件,其实mfd文件就是dump编码的,只是它后缀不同。然后为了方便区分,复制一份到桌面并改名为“加密卡.dump”。
第二步是把加密卡.dump文件转为txt格式。这边用M1卡格式转换工具,选择导出TXT,把“加密卡.dump”拖拽进软件来,就会自动在同目录下生成“加密卡.txt”。也可以用M1卡分析助手等软件来转换格式(它支持免改后缀,直接拖拽MifareOneTool的mfd文件来转为txt)
第三步是把事先准备好的“空白卡.dump”也转为“空白卡.txt”。如果你没有这个空白卡的dump文件也没事,看到我上面的图了么,除了0扇区的0区块有ID号和厂家信息内容外,其它扇区都是一样的00与FF之类的文字,自己也可以做一个,0扇区的0区块也可以随便替换等长字符,因为后面也要替换掉这行。
第四步把左边加密卡的0扇区里的0区块的这行信息全部复制替换到空白卡的0扇区0区块,让右边头行区块和左边头行内容一样。这里简单说明下这个操作原因,因为M1/S50卡的唯一ID信息就是在0扇区0区块,前面八位为最重要的(比如左上的C9 4D 21 11)是ID号,主要靠它认证,这行后面的是厂商号。还有另一个方法不用空白卡,但思路一样,只不过需要把加密卡.txt里所有涉及加密的扇区里的3区块都要替换填充FF先,每个加密卡的加密扇区位置不同,甚至会有多个扇区加密,还是我这个方式比较直观通用。不用看加密扇区在哪,只管改0扇区0区块先。
第五步把修改好0扇区头部信息的“空白卡.txt”用工具转回“空白卡.dump”,也还是用M1卡格式转换工具或者M1卡分析助手等软件。
接着把UID空白卡放在PN532上,待写入。
第六步使用NFC上位机,确认设备正常且发现NFC设备下,选择写整卡(UID卡),加载“空白卡.dump”写入PN532上准备好的UID空白实体卡上。点击NFC上位机里写整卡右边的倒三角,选择写UID卡,然后点击这个主按钮,打开前面修改过头部信息并转好格式的“空白卡.dump”,写入我准备好的UID空白实体卡上。这个软件有些年头了,在高分屏windows系统上布局会有显示问题,在主程序选择右键/兼容性/更改高DPI设置,打勾高DPI缩放替代,选择系统(增强),即可。另外相信也有用户和我一样遇到NFC上位机无响应问题,前面好好的,后来突然就这样,找了好多个版本要么不响应,要么出现请稍等/eureka/验证未通过等提示,有人说是WIN10系统兼容问题,我看则是注册验证问题。我这边是这么解决NFC上位机无响应问题,在打开软件瞬间,再使用自带的验证注册工具迅速点击注册,并在注册成功对话框点确定,一般第一个打开的NFC上位机软件还是来不及相应,会卡住,不用管他,不用停掉进程,继续再打开一个NFC上位机,再次迅速点注册工具并点击注册成功后,一般来说这第二个打开的就能及时响应并出现NFC上位机的完整界面了。或者就别折腾这NFC上位机,换MifareOneTool来写空白卡。
第七步接着用小米手环4NFC来模拟这张UID实体空白卡,这一步是为最后写入加密卡的前期准备,由于改后的空白卡和加密卡的头部信息相同,方便后面骗过设备继续写入加密卡。这边首先记得在小米运动的门卡模拟里选第一个门卡模拟,不要选小米空白卡。(具体模拟时候可能检测提示不支持该卡,你把门禁卡微微换个位子继续贴在手环上面,多试试几次检测就可以通过了,然后就是等待复制了,遇到复制也有不成功的,继续多试试几次,或者再次检查前面写入的头部信息是不是正确,再不行就考虑换张复制卡,甚至重置手环等你能想到或者想不到操作。对了,看看你之前是不是模拟过这张卡,模拟过后,安卓端小米手环模拟界面并不会提示原因,直接报错失败,而iOS版小米手环模拟界面会提示该卡已存在。
第八步就是写入原加密门禁卡数据到手环里,给手环的空白模拟卡重新加密。前面手环只模拟了那张带改了ID头部信息的空白卡,还有原加密门禁卡下面的加密扇区数据没复制进,这次把刚才的UID实体空白卡继续放回PN532上面,用蛐蛐点击“使用默认密钥读取”或者NFC上位机的“读整卡”。如果不用手环,是手机的话,直接把刚才模拟过空白卡的手机启用这张卡片·,然后把手机的NFC感应区域放在PN532上,做如上读卡操作。由于是空白卡,读取后的上图可以看到没有加密扇区。
紧接着拿走UID实体空白卡,把手环(手环卡包里面启用之前模拟的那张空白卡)放在PN532上面。
蛐蛐读取了空白卡前面的改过的ID头部信息相当于知道密钥,就能写入门禁卡的加密数据。然后在蛐蛐里面选择“浏览”,打开之前放在桌面的“加密卡.dump” 并点击写卡就大功告成了。用NFC上位机的话,则是点击写整卡,选择“加密卡.dump”即可。遇到写入不成功,还是那句话,多试几次呗。当然也可以换用MifareOneTool等软件尝试,原理一样。写入后如果不放心,可以继续用MifareOneTool选择加载密钥,打开放在桌面的“加密卡.dump”,然后选择已知密钥读。然后读取密钥文件可以用MI卡数据对比工具来和原先的加密卡文件对比数据是否一致,正常来说除了0扇区0区块的后面大半段厂家信息不同外,其他都应该是一致的。
别看步骤似乎有些多,其实概括起来就两步,1.复制加密卡的0扇区制作空白卡给手环模拟,2.将加密数据文件写入手环模拟的空白卡。搞定这些就可以嗨起来,打开个性化的表盘,上划到卡包,在卡包里选择你要刷的卡,出门用手环刷加密门禁卡,做整条街上最靓的仔,回来用手环开米家门锁,做邻居眼中最羡慕的仔。这200块的NFC版手环钱花的值。不过有个缺点,这里模拟的加密门禁卡和前面小米门锁的卡是分别显示在小米运动APP和米家APP里,要在APP切换卡片的话,还要来回换APP,希望以后能整合显示手环里所有的卡片。目前还是直接在手环的卡包里切换相对比较方便。说到切换卡片,这里希望小米增加一个功能,根据用户设置的时间段,自动轮循指定的门禁卡,减少每次刷卡前要在手环里切换门禁卡的操作次数。毕竟现在最多能模拟5张卡,卡包里卡多了,切换也麻烦。而小米手环3NFC才只能模拟一张,这也算是幸福的烦恼。
相关文章
- 戴尔XPS 13迎来全新升级!这些功能点让人心动不已
- 华为畅享10 Plus发布:4800万超广角AI三摄,1499元起
- USB4 正式发布:传输速度达 40Gbps,仅支持 Type-C
- 亚马逊要推出「刷手支付」,比刷脸还快
- 网页小游戏时代的终结:微软也宣布将停止支持Flash插件
- 微软Surface Pro 7曝光:LTE型号搭载骁龙8cx处理器
- 重度使用小米手环4NFC版1个月,聊一聊优缺点和一些真实感受
- iPhone 11发布在即!“浴霸”相机模块生产中,备货量惊人
- 下半年新机发布时间汇总:红米6400万明日首发,麒麟990紧随其后
- 小米手环4 NFC版玩转自定义表盘/开米家锁/模拟加密卡,一篇就够