不知道从什么时候起,我们小区就装上了新的门禁,这个门禁系统是由一家叫亲邻科技的公司提供的,他们的门禁系统实际上就是个活动的广告牌,门禁开关上有广告,门上也有广告,到处都是广告。

其实这些都能忍了,但是忍不了的是他们的 App 开个门都要看广告,是真的烦人,而且这个破 App 又慢又卡,每次启动光是等那个加载界面都要等个十几秒钟,进去之后有时候登录失效了还要重新登录,登录完了加载数据又要十几秒钟,有这功夫我都能喊保安给我开个门了。
我也问过物业能不能搞个 NFC 之类的,得到的回复是暂时不支持,因为开通 NFC 是要收钱的,所以只能用 App 和人脸解锁,但我肯定不会把人脸数据卖给这些广告公司,那就只剩下 App 这条路能研究了。他们的 App 也有个什么免广告版,收费的,虽然一年就十几块钱,但我怎么可能会为这个玩意付钱?想都别想!

于是我就想着找个办法给它破解了。一开始我想的是通过抓包来破解,但是后来发现暂时行不通了,之前已经有 其他大佬尝试破解过了,而他们现在为了防破解,加入了 nonce 、sign 这两个参数对请求进行校验,同时还通过 SSL Pining 来阻止抓包,提升了破解难度。
虽然可以通过使用 Frida 和 blutter 等软件,再 Hook 掉 App 的签名接口来破解,但是这终归不是个稳定的办法,因为只要他们一修改签名方式,Hook 就没用了,又要重新逆向,非常麻烦。于是我想到了一个简单粗暴的办法,那就是:模拟点击。

简单粗暴,就是单纯通过模拟屏幕点击。配合软件在后台挂机实现自动开门。但是这个软件每次开门之后都会弹个广告出来,而且关闭广告必须要点那个小到不能再小的 X 按钮,并且这个按钮每次出现的位置都不同,有时候在左上角,有时候在右上角,如果要通过识图来获取按钮位置的话就太麻烦了,干脆每次开完门就重启一次 App ,这样就没有广告了。
private void CloseAd() {
    Thread thread = new Thread(() =>
    {
        Thread.Sleep(closeWait);
        stopAppCmd("com.qinlin.edoor");
        Thread.Sleep(300);
        startAppCmd("com.qinlin.edoor/.MainActivity");
        if (autoLockScreen) {
            Thread.Sleep(1000);
            powerBtn();
        }
    });
    thread.Start();
}
然后让程序监听在 HTTP 端口上,当收到请求的时候就发送 Adb 请求模拟屏幕点击,实现远程自动开门,配合 HTTP Shortcuts 这个非常好用的软件,就可以在手机主屏幕上一键开门了,再也不需要每次开门等个几十秒了。

最后附上项目地址: https://github.com/kasuganosoras/QLCloseDoor/
各位如有需要可以自取~
PS:理论上这个玩意也可以用于其他门禁系统,只需要 clone 下来修改一下软件包名就差不多了。
|  |      1phrack      346 天前  32 在国内有的时候是真的,活着都累 | 
|  |      3y051313      346 天前 他家不是可以在物业配 ic 卡吗? 题外话,他家的 ic 卡一般的复制机还复制不了。 | 
|  |      4Rico802      346 天前  2 支付宝有他家小程序,弄一个桌面快捷方式,目前全程无广 | 
|      5Blanke      346 天前 之前我是逆向的小程序实现的自动化(按两下音量键自动开门),后来下架了 | 
|  |      6lsdvincent      346 天前  7 神了 要这样我早干死物业了 | 
|      7handsome198311      346 天前 via Android 现在丰巢柜子也开始了,以前扫码直接开柜,现在弹垃圾广告还带倒计时 5 秒,丢佢楼某,真的难受 | 
|  |      8StoneHuLu      346 天前 草,之前租的房子用的也是类似的,联享家,外卖在 1 楼拨号开门,是手机 app 给你打电话,然后打开 app 给快递员开门的时候还得先看广告,无语了 | 
|      9rink9oled3      346 天前 via iPhone @phrack 从自己做起,有自己能决定的事的时候,不要做作恶者,教育好下一代,估计几代人之后会好些。 我说完都觉得深深的绝望。 | 
|  |      10KasuganoSoras OP | 
|      111d074bfa18d34f6c      346 天前 物业费你交了,然后还强制你看他们的垃圾广告?广告投放得收益有分给你吗?没法上诉举报之类的吗 | 
|  |      12KasuganoSoras OP @1d074bfa18d34f6c #11 门禁设备是这家公司免费提供的,但代价就是全体住户回家之前都得看他那个广告,这种情况要怎么举报 | 
|  |      13fanxasy      346 天前  1 小区物业和大区物业,赛着恶心 | 
|  |      14Rico802      346 天前 自从关闭微信小程戏后我就转到了支付宝小程序了,出了很久了 | 
|      15liudewa      346 天前 你不怕有人攻击你 门莫名其妙的开吓着保安了? | 
|  |      16zhusimaji      346 天前 我家的小区也是亲邻,这 app 跟屎一样 | 
|  |      17tool2dx      346 天前 via Android 我们这里也是这家,好像 95%都用人脸开门,还挺方便。 当然可以写一个给外卖小哥开门用。 | 
|  |      18KasuganoSoras OP  14 @liudewa #15 保安已经习惯了……我跟保安说了是我干的,我这几天一直在调试软件,楼下的门就在那开开关关的…… | 
|  |      19imwangpan      346 天前 这软件确实恶心。 | 
|  |      20KasuganoSoras OP @tool2dx #17 我是不想用他那个人脸识别,谁知道他会拿你的人脸数据去干什么。。 | 
|  |      21cjpjxjx      346 天前 via iPhone 我们小区也是这个,但是可以在小米钱包上开通 NFC 门禁卡 | 
|  |      22ichou      346 天前  1 桌面壁纸交一下 | 
|      23kuku123      346 天前 | 
|      24qingxiangcool      346 天前 无良国内厂商,美其名曰:国产化。 | 
|  |      25bjzhou1990      346 天前 我家也是亲邻开门,但是有 ic 卡,可以用 NFC | 
|  |      26KasuganoSoras OP  4 @ichou #22 从相册里翻了 10 分钟才翻出来(   | 
|  |      27gsc      346 天前 对比可以手环开门还是方便 | 
|      28noisay      346 天前 我们小区也是这个逼 app ,真的垃圾, 把小程序停了强制用 app ,然后一堆广告。 | 
|  |      29KasuganoSoras OP @noisay #28 app 垃圾就算了,他这门禁还有 bug ,昨晚就遇到了,人一经过他那个摄像头前面它的摄像头就会启动,然后一启动就整个门禁系统卡死,然后自动重启,重启完摄像头一开又卡死,我都无语了😓 | 
|  |      30hevi      346 天前 直接业主委员会投诉啊,物业那么拽的吗 | 
|  |      31y051313      346 天前 | 
|      32nonone      346 天前 联享家 同 真的恶心啊 | 
|      33xyholic      346 天前 很强,不过我有不验证签名的 api | 
|      34hi2hi      346 天前 以前可以小程序开门;;;现在必须 APP 才能开门,而且全是几把广告,恶心的一批;;还好不是只有一个这 b 玩意儿,有传统的 ic 卡开门 | 
|  |      3518k      346 天前 via iPhone 这个是不是跟 u 享家一个系统,你看下我的界面有没有发送钥匙到桌面 那个没广告的 | 
|  |      36qianxuu      346 天前  2 我小区用的门禁是易家人,APP 也是一堆广告极其难用,尝试过抓接口,刚开始没有任何的防御措施,http 接口随便调用,后面来来回回加了一堆限制,上了 https ,每次调用如果 nonce sign 不变还会经常 token 失效,后来干脆把 apk 给逆向了,把他 nonce sign 的逻辑给抓出来复用,目前半年 token 没失效,APP 一次没打开过了 https://img.chkaja.com/4cd75a6ddec66b6e.jpg | 
|  |      37pelloz      346 天前 1 。告诉物业,这种看广告的恶心门禁得撤掉,要不然拒绝缴纳物业费。 2 。每天在业主群里面骂。 3 。没事去物业缴费窗口骂。 4 。打印一堆骂物业的传单,每天路过门禁贴一张。 | 
|      38vchroc      346 天前 抓个包,使用 siri-快捷指令开门,很方便 对手机说“开门”,门就开了--门口的邻居们都惊呆啦 | 
|  |      39hoshizukiko      346 天前 我小区也是装的这个亲邻,研究看看,不过我准备用支付宝的了,楼主厉害 | 
|      40missooo      346 天前 回个家还得看广告 | 
|  |      41chendaye      346 天前 | 
|  |      42beixiao      346 天前 via iPhone 有点麻烦哈哈,坐标深圳城中村,开门用的小程序,抓到请求写个快捷指令,添加到桌面就好了😂 | 
|  |      43SimonOne      346 天前 安卓的图标库用的哪个? | 
|      44i8086      346 天前 真实案例,我这小区就装上这种,app 广告巨多,最后被广大业主投诉撤掉了。 | 
|  |      45Clannad0708      346 天前  1 @rink9oled3 #9 好人就该被拿枪指着.jpg | 
|  |      46Clannad0708      346 天前 @handsome198311 #7 直接下载蜂巢 APP 可以和客服沟通,禁止入柜丰巢,以后都不会给你放在丰巢了 | 
|  |      47Clannad0708      346 天前 @KasuganoSoras #12 联合业委会取消这个门禁。去和物业沟通,他看广告的收益绝对比直接收钱高多了 | 
|  |      48baizhu      346 天前 正确的方法是骂死物业让他们给撤了 | 
|  |      49v1      346 天前 反编译又不难,我就是反编译方案。 | 
|  |      50qeqv      345 天前 我这也有亲邻,神烦,弄个摄像头在门口怼着脸拍,还有超亮的广告。 | 
|  |      51yzding      345 天前 跟 OP 一样,我也是用的模拟点击方案。不过是直接手机上用的 MacroDroid 写宏来实现,然后在 iPhone 调用快捷指令直接开门。ps: 昨天我还在发问 Apple watch 调用 Siri 不能找到快捷指令,今天起床就好了 | 
|  |      52Felldeadbird      345 天前 这有点过分了,回家都要看广告?我买的是房子还是广告 | 
|      53dozer47528      345 天前 这能忍?业委会到哪去了?必须和邻居们联合业委会取消这个啊。 我看了这家公司介绍,明明有其它开门方式了,你们物业只留了一个 App 非让你们看广告,这也太恶心了。 你说有亲朋好友来,用小程序开门临时看个广告也就算了。普通业主还要强制看广告,这肯定过了。 | 
|      54dozer47528      345 天前 另外,小区广告收入输入业主共有。 物业必须公开这笔钱的用途。如果没有地方公开,你们小区业主应该联合起来起诉。 | 
|  |      55xiangbohua      345 天前 哎,开个门都要广告,开电视也要广告,真的累 | 
|      56Huelse      345 天前 我觉得没什么好吐槽的,总不能想要马儿跑得快又想马儿不吃草吧?就像油管不开广告拦截那广告长得令人发指。 | 
|  |      57binxin      345 天前 请问下 OP ,这个开门不需要蓝牙定位么?或者是怎么解决的呀。 | 
|  |      58liuxh7      345 天前 最近我这边在招产品助理,想着和 HR 一起筛选一下简历,发现招聘方的后台巨恶心,每个人的信息预览只有一点点,详细了解的话,点进去看要花钱,打招呼要花钱,甚至条件筛选简历都要花钱,步步都层层套路。 | 
|      59dode      345 天前 真是搞笑,老人,孩子也天天拿着手机看广告开门? | 
|  |      60LieEar      345 天前  2 用不到这么麻烦,直接群里说拆掉,否则第二天拿锤子直接砸了 | 
|  |      61Admstor      345 天前 有时候觉得程序员任人鱼肉也是双向奔赴的结果 这破玩意最好的解决办法就是砸了 | 
|  |      62just1      345 天前 via Android 歪个楼,上面这个电动车的面板是 app 自带的还是自己弄的,有办法自己弄个这种组件吗 | 
|  |      63rekulas      345 天前 可以试试逆向直接屏蔽掉 | 
|      64jasonchen168      345 天前 牛啊,我们小区也是这个破 APP ,还好我要卖房子了 | 
|  |      65tsja      345 天前 虽然 app 开门很烦人, 但是相比之前需要带 nfc 门禁, 宁可选择 app 开门. 感谢 up 提供的思路, 晚上就回去试试 | 
|  |      66imsoso      345 天前 这个垃 圾 app 走到了免费使用,付费看广告的极致 | 
|  |      67DigitaIOcean      345 天前 这个模式恶心,可同样恶心的不是选这个模式的吗 如果选一个没广告的,但需要安装费的(物业费里面出),如果表决的话,一定选没广告的?存疑 | 
|      68fbi007130      345 天前 一般来说,改 UI 的概率远大于改 hook 等,仅供参考。 | 
|  |      69joker8ren      345 天前 就是这玩意  我们小区也是  还好可以刷脸 | 
|  |      70KasuganoSoras OP @kk2syc #49 我搞逆向太菜了( @dozer47528 #53 也有人脸识别开门,还有 IC 卡开门,但谁知道他拿你人脸数据做什么,IC 卡是要定期收费的,虽然不贵,但是我家里人也要用,开几张卡下来一年也要大几十块钱成本 @binxin #57 它在有网的情况下是不需要蓝牙和定位的,只有他的设备断网了才需要蓝牙 @dode #59 用人脸开门,或者花钱搞 IC 卡,只能这样了 @fbi007130 #68 这个倒是,但改 UI 重新适配也简单,一般来说就是调一下坐标的事情,而且我用了几个月观察下来发现 UI 基本不会变动,唯独就广告天天变 @SimonOne #43 这个是 HTTP Shortcuts 自带的图标库,我也不知道 | 
|  |      71MoonWalker      345 天前 @vchroc 深受其害,可以详细讲讲怎么做吗? | 
|  |      727f1hVWOG0UF4bC5P      345 天前  2 @phrack 天天说国人 国人的,看着真累。哪都有坏人 坏事。怎么?国外是有净化结界啊,坏人出了国就变好人了? | 
|      73fbi007130      345 天前 看完楼主,感觉到不幸。我住的小区,也被换了门禁,可是那个厂商似乎要倒闭的样子。。。app 不更新几年了。。。于是。。。 | 
|  |      74SimonOne      345 天前 @KasuganoSoras #70 你下面其他软件的,比如那个短信的图标还蛮好看的。 | 
|  |      75Ansen      345 天前 之前我是直接抓接口和 token , 写了个脚本运行在服务器上, 做成捷径发 url 请求到服务器开门 | 
|  |      76wentx      345 天前 斗奶屏? | 
|  |      77kita      345 天前 这种就应该在每个门禁那边普及人脸识别的阴谋论,侵害隐私什么都写上去 | 
|  |      78jqknono      345 天前 用 adguard 能去广告吗? 用我的公开版试试 public.adguardprivate.com | 
|  |      79huangmingyou      345 天前 很刑。 | 
|  |      80KasuganoSoras OP @SimonOne #74 华为的主题里面找的,搜 Nine 九为 就有,有点类似安卓原生风格的图标 | 
|  |      82lengmou      345 天前 这谁能忍,尤其对老人小孩不懂操作的人来说,回个家都是麻烦 | 
|  |      83apollo007      345 天前 干,我们小区也是这个,见鬼 | 
|  |      84EndlessMemory      345 天前 开屏广告是真的烦,但是这玩意又是最不可能去掉的,听说这玩意费用老高了 | 
|      85laminux29      345 天前 本质上是物业在恶心业主,业主性格软弱,被欺负就很正常了。 楼主你这么搞,相当于主动把物业与业主的矛盾,转嫁给广告公司与业主,得不偿失,还帮了物业。 | 
|  |      87johnnyNg      345 天前 我们也是这个,话说留个抓包的漏洞也不会影响到他特别多的收入吧,毕竟会抓包直接调接口的是少数人,不理解为啥封这么死 | 
|      88woyaojizhu8      345 天前 楼主不怕这里有亲邻内鬼,你发出来对方马上反制? | 
|      89zerovoid      345 天前 确实,这个亲邻开门太恶心了, 你开个门,打开 APP 一个广告,开完门一个广告, 正常应该业主联合起来抵制这种 APP , 次一级也要组织起来一起投诉这个 APP 。 | 
|  |      90learnshare      345 天前 本地的门禁服务商,一个小区录入人脸后,可以去开另一个小区的门。笑 (有两个可靠的信息来源) | 
|      91V2April      345 天前 写代码破解小心被抓,我建议还是投诉物业要求提供刷卡解锁 | 
|  |      92xiaoxixi      345 天前 骑车每天撞两次门  几次下来就不用开门了    反正我住的小区的门禁坏了几次后就不在修了 | 
|  |      93KasuganoSoras OP @laminux29 #85 我也想,但是貌似业主群里没有人提过这事,大部分人都直接选择录入人脸信息用人脸解锁了,如果就我一个人跳出来说这事的话就有点尬了 @johnnyNg #87 以前是 http 明文的,后来越来越复杂,估计是破解方法太简单了,有手就行,导致很多人都去用,他们收益自然就下降了 @woyaojizhu8 #88 那我可就来劲了  我倒想看看他们还能整出来什么烂活 @zerovoid #89 没办法,我们这小区住户都是老年人居多,年轻人也大部分都开摆了,组织不起来,愿意花时间去研究其他方式开门的人一只手数得过来 @V2April #91 不要乱说啊,我只是写了个手机的自动化测试工具  | 
|  |      94chenstor      345 天前 太好了,我试一下。我那个小区有个破门也是这个系统,以前小程序还可以开门,现在直接下掉功能。APP 还没安装测试。 人脸是坚决不给这些辣鸡公司的 | 
|      95cuberwr1      345 天前 确实非常恶心,要人脸外加各种信息,还自带摄像头,这种没经过允许的拍摄应该也是侵犯了肖像权的,我家楼下之前那个开门的 app 里面直接放着密钥,给一个阿里云的服务器发请求,之后开门,之后估计是那个广告公司跑路了,门禁那个设备欠费了,门禁那个安卓机器我也拿了权限,直接给继电器一直上电把它烧了,之后就一直没门禁,最近几天又来个了新的,给继电器修了外加更大更亮的广告牌,还写着招商,声光兼具什么的,至少现在还没人投广告,没声音,要是有声音铁定拆掉,现在就想着直接自己接个设备到继电器来遥控,买了两个 2.4g 的模块,然后发现只是通讯里面没带 mcu ,我想从楼上控制貌似有点太远了,收不到信号,还要外加 mcu ,于是看到了频率更低功率更大的 315mhz 的模块,还自带开关量控制,刚用淘宝红包买了一对,指甲盖那么大,还看了半天早还给老师的射频的东西,自己剪线绕天线,不知道能不能接收到,发射的模块到了,接受的明天到,打算直接用鱼钩从那广告机电源取电,不知道电压是不是合适,有时候软件折腾很久的东西,直接考虑硬件解决更直接,感觉还能免去一些法律风险 | 
|      96cuberwr1      345 天前 @cuberwr1 #95 这傻逼物业整天不干人事,电梯里广告机我直接掀了,结果拆几次他们装几次,还把监控发到业主群结果被骂给我笑死了,不过那时候挺忙没管这事,要是闲着必去告个侵犯肖像权什么的,最后物业没办法就把广告机装到电梯的背面看不到的地方了,现在是看不到了,但是偶尔隐隐约约能听到一点广告机的声音 | 
|  |      97MossFox      345 天前 | 
|      100wtdd      345 天前 这治标不治本啊,还是得给业委会提 |