V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bzw875
V2EX  ›  Android

怎么迁移一个蓝牙门锁 APP,重新下载已经无法登陆 [开发 APP 的公司已倒闭] ;或者如果录制点击开锁的蓝牙信号也行

  •  
  •   bzw875 · 2024-07-17 13:29:49 +08:00 · 7907 次点击
    这是一个创建于 413 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在有一个登录的华为手机,我想把 APP 迁移到 OPPO 手机,并且保留登录状态。 或者怎么录制点击开锁播放的蓝牙信号也行。

    28 条回复    2024-09-03 18:31:33 +08:00
    kkk9
        1
    kkk9  
       2024-07-17 13:43:38 +08:00   ❤️ 1
    钛备份试试看

    至于录制方案没啥用,合格的门锁怎么可能是固定开锁密钥!想想别人只要采集到你的开锁蓝牙广播就可以开门,你还敢用这个锁?

    反编译 APP 看看开门的广播密钥生成也可以
    Dawnnnnnn
        2
    Dawnnnnnn  
       2024-07-17 13:53:11 +08:00
    华为没加入互传联盟,没有 ROOT 的情况下用户数据无法迁移到其它品牌手机。最好的方法还是反编译 app ,要不把登录干掉,要不逆蓝牙协议
    LuckyLauncher
        3
    LuckyLauncher  
       2024-07-17 13:54:59 +08:00
    抓个蓝牙的包?
    gam2046
        4
    gam2046  
       2024-07-17 14:54:19 +08:00   ❤️ 3
    厂家已经噶了的情况,你的 app 还可以用。

    那么大概率是基于某种算法的离线验证(包括算法本身也是离线的,而不依赖服务端返回),就比如常见的 OTP 就属于这一类,但是考虑到门锁不联网(大概),同时也有断电的可能性,因此可能并不是基于时间来生成密钥的。盲猜是基于设备的某种序列号进行生成的,那么逆向,相对来说,是有可行性的。

    至于你说的“制点击开锁播放的蓝牙信号”,如果不是非常弱鸡的设计,应该不存在你希望的重放攻击。
    z0y522
        5
    z0y522  
       2024-07-17 16:18:19 +08:00 via iPhone
    如果你说的是夏洛克的话,淘宝有家店卖射频模块
    githmb
        6
    githmb  
       2024-07-17 16:21:01 +08:00   ❤️ 1
    换锁
    cheese
        7
    cheese  
       2024-07-17 16:22:36 +08:00
    你直接报锁的牌子,大概率公模,找一个其他 app 一样用
    ysc3839
        8
    ysc3839  
       2024-07-17 16:38:49 +08:00 via Android
    试试“通通锁”这个 app ?
    linhua
        9
    linhua  
       2024-07-17 16:59:12 +08:00
    root 手机 或者 使用 华为手机克隆 将应用 克隆到 已经 root 过的另一部华为手机上
    bzw875
        10
    bzw875  
    OP
       2024-07-17 17:01:13 +08:00
    @ysc3839 #8 不是家庭锁
    @cheese #7 是楼宇对讲门禁系统门锁
    @githmb #6 APP 是 [小区阿福] ,登陆发送验证码报错了
    sks4728
        11
    sks4728  
       2024-07-17 17:23:18 +08:00
    报设备 品牌
    linhua
        12
    linhua  
       2024-07-17 22:43:54 +08:00   ❤️ 1
    用 libchecker 看了 小区阿福 2.6.1 版本的 allowBackup 属性是 true ,应该可通过 adb backup 和 adb restore 对 App 的应用数据进行备份和恢复
    iminto
        13
    iminto  
       2024-07-18 07:51:24 +08:00 via Android   ❤️ 1
    开发者选项里,可以打开设置,抓蓝牙数据包。

    或者反编译。

    相比而言,抓包难度小一些。

    都不会的话,就只能忍着了。
    kero991
        14
    kero991  
       2024-07-18 10:04:24 +08:00
    这种玩意我觉得长久不了的,现在是厂家 g 了,但 app 还能用
    说不准哪天 app 也 g 了呢?
    w977741432
        15
    w977741432  
       2024-07-18 10:19:15 +08:00 via Android
    @linhua root 过程大概率要双清,app 信息就会被清除
    kimzn33251
        16
    kimzn33251  
       2024-07-18 11:31:52 +08:00
    分享 app 把 apk 倒出来,然后报价找人逆向看看,这种 app 一般不会像超级 app 那么复杂,有逆向的可能,价格合适会有人接
    evan9527
        17
    evan9527  
       2024-07-18 14:02:03 +08:00
    我这是二维码扫码开门禁,厂家倒了,用不了了,物业公告都贴出来了。
    q503315508
        18
    q503315508  
       2024-07-18 21:59:54 +08:00
    看了下代码,有从服务器 下载 key 到本地数据库的,开门用到了这个 key 。跳过登录应该也没用
    q503315508
        19
    q503315508  
       2024-07-18 22:25:06 +08:00
    sp 存的,找到 key 的话貌似也可以读出来?下班了不看了
    bzw875
        20
    bzw875  
    OP
       2024-08-30 00:06:00 +08:00
    @linhua #12 我今天是了,adb backup 后 data.ab 文件有大小,adb restore 后依旧要我登录。apk 我是用手机克隆过来的。不存在版本不一样
    @iminto #13 我反编译了是 Kotlin 代码,好看看,不知道怎么在旧手机 debug
    bzw875
        21
    bzw875  
    OP
       2024-08-30 09:59:39 +08:00
    @kkk9 钛备份要 root 权限
    @q503315508 我猜测登录之后,查询手机号属于小区哪个楼,然后下发蓝牙钥匙密码
    linhua
        22
    linhua  
       2024-08-31 11:44:17 +08:00
    @bzw875 可能 adb backup restore 是备份恢复 应用的 内部存储。 你试试 将外部存储也复制一下(不需要 root 权限,外部 Android/data 目录)。再检查下看看 外部存储根目录是否有小区阿福 建的文件夹(一般没有)。
    kkk9
        23
    kkk9  
       2024-09-02 00:38:52 +08:00
    @bzw875 #21 app 发我看看,有空可以帮你看看,厂家噶了还能用大概率是 app 内置算法,我帮你逆出来
    bzw875
        24
    bzw875  
    OP
       2024-09-02 10:36:07 +08:00
    @kkk9 www.crsky.com/soft/397276.html 官方的下载不了了,只有第三方下载
    @iminto 我从手机拉去了 btsnoop_hci.log 这几天在研究蓝牙协议,看不太懂里面哪一段是 APP 发送的蓝牙包
    kkk9
        25
    kkk9  
       2024-09-02 17:17:12 +08:00
    @bzw875 #24 这个 APP 没有禁止 ADB 备份 manifest->android:allowBackup="true",然后 openDoor 用的蓝牙 Key(代码写 Password)是存在 sqlite 的。厂家倒闭的情况下,你只能先把 App 的 Data 备份出来才能继续下一步(换机或者开锁脚本)。

    备份步骤:
    adb backup -f backup.ab -noapk com.community.custom.android
    然后你会得到 Data 的打包文件 backup.ab ,解包可以用 java -jar .\abe.jar unpack backup.ab backup.tar

    换手机,恢复步骤:
    安装同版本 App ( adb 提取一下也行),然后 adb restore backup.ab

    完事。
    bzw875
        26
    bzw875  
    OP
       2024-09-03 00:49:38 +08:00
    @kkk9 #25 试过了,backup 出一个 16mb 的 ab 文件,adb restore 后,进入 APP 还是登陆页面。APP 版本一致的通过克隆过来的 APP 。
    使用华为手机关机,备份 app 数据和还原 app 数据,进入 APP 还是在登录页面。
    你有兴趣我发送 backup.ab 文件给你,留下邮箱
    kkk9
        27
    kkk9  
       2024-09-03 03:49:36 +08:00
    @bzw875 #26 YXBwZGV2QGVtYWlsLmNu
    iminto
        28
    iminto  
       2024-09-03 18:31:33 +08:00 via Android
    蓝牙抓包可以参考此文
    https://sspai.com/post/78993
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2957 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:38 · PVG 21:38 · LAX 06:38 · JFK 09:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.