热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

教你快速攻破小区门禁系统

很多小区的大门和楼栋门都可以通过NFC实体卡片或者手机APP的方式打开,我所在的小区也不例外。开门是一个每天都会发生好多次的操作,我们会频繁进出小区&#

很多小区的大门和楼栋门都可以通过 NFC 实体卡片或者手机 APP 的方式打开,我所在的小区也不例外。

开门是一个每天都会发生好多次的操作,我们会频繁进出小区,外卖快递等等经常打电话让开楼栋门。所以寻求一个最便捷的方式很有必要。

首先我从不用 NFC 实体卡,这玩意和带个钥匙没啥区别,到门口了我还得翻出实体卡,还容易丢。非常不方便。

通过手机 APP 开锁倒是挺方便,你总不会不带手机吧。

但是通过 APP 开锁也有个很大的痛点 - 广告。没错,一般这种开锁 APP 都是些小公司开发的,体验贼差,广告贼多,流程贼长。

我这里录个视频,大家可以感受下。。。

这是一个 12 秒的视频,也就意味着每次开门都需要十几秒的时间,这简直太慢了。

接下来,我要开始破解了!

首先从技术的角度去看,我们打开 APP 开锁,其实就是发了一个网络请求,可能还会涉及登录等操作。

那么我们如果在手机上开锁,然后对开锁的请求进行抓包,将具体参数记录下来,下次开锁时只需要做一次重放操作就可以了。

原理很简单,说干就干。

我平时抓包用 Charles,这个工具简单易用,可以很方便的抓 HTTP 和 HTTPS 的请求。安装、设置代理、操作、抓包,一气呵成。结果我发现手机开锁后,Charles 上并没有看到任何相关的请求记录。

835ae1217b93e0a569d6440f663ab311.png

奇了个怪,没有任何网络请求,难道是通过 NFC 或蓝牙实现的?也不对呀,因为可以远程开锁,所以肯定是通过网络开锁的。

经过了解,这玩意发的网络请求竟然不是 HTTP 协议,而是 SIP 协议。至于 SIP 是啥,就是一种实现 VoIP 的协议,简单理解就是实现语音通话的。因为 Charles 只能抓 HTTP 协议,所以得换个工具。

Wireshark 是另外一款抓包工具,可以抓所有协议的请求。说干就干。监听手机之后,操作开锁,立刻就看到了相关的请求。

0bbffc9f7f6fdda363fc909fa8c065d7.png

上图是开锁的关键请求,我们可以清晰的看到所有需要的信息,然后在手机端重放一下这个 SIP 请求即可。

基于此,搞了个 iOS APP,后面开锁只需要打开 APP,然后点一下想开的门即可。

0e66aec275eee9a548697b592125473d.png

嗯,至于这个 APP 的 UI,确实丑。。但是不影响开锁速度,就懒得优化了。。

b1c97ecb60a4587e85e04f9afb4d6a77.png

经过这一波操作,开锁又原来的十几秒缩短为现在的三四秒,每天可以省出一分钟的时间陪你的女神多聊几句天。

7abf27a8c8ab49fcc9a132ee2f64076a.png

最后,你们小区的开锁方式是啥样的呀?评论区告诉我~

有能力的可以考虑破解一下,方便自己。但是注意不要分享给很多人用,尊重开发者的劳动成果吧,也避免给自己招来不必要的麻烦。

··········  END  ··············

近期文章精选 :

  • 最新2022版破解版Adobe全家桶一键安装

  • 接了很多私活之后的感触

  • LeetCode1-600题汇总,希望对你有点帮助!

  • Nginx面试40问

  • 必须推荐的一个后台管理系统

如果本文对你有帮助的话,欢迎点赞&在看&分享,这对我继续分享&创作优质文章非常重要。感谢🙏🏻

1ac277d6c69710dc7d74b2c39ed5becb.gif

ee43291102f3d1ed317cc9e061b134ec.png

  • 😈 知乎/CSDN/今日头条/:@程序IT圈

  • 👬 其他公众号号:科技曼、科技禅

  • 🌏 个人网站 :https://www.cxyquan.com/

微信公众号官方矩阵

df1f7b15e68bb99c4e69de3f922d15dc.pngbede8ff23deb8ad66047e9e980850ec5.pnga53b3371d2e54f3e2913c19f1aa49fc5.png1b69298fcdc151f0ac408799857fe4fb.png

192c5bd30171eba6d13d7685d6e94048.gif

点分享

4d23af3fefdd5d459fd4e20ea0114c8d.gif

点点赞

f43bd22c5e4c2f194536fd44e406c67c.gif

点在看


推荐阅读
  • 本文详细解析了LeetCode第300题——最长递增子序列的解题方法,特别是如何使用动态规划来高效解决问题。文章不仅提供了详细的代码实现,还探讨了常见的错误理解和正确的解题思路。 ... [详细]
  • 本文探讨了Flutter和Angular这两个流行框架的主要区别,包括它们的设计理念、适用场景及技术实现。 ... [详细]
  • 本文介绍了在Linux系统中如何使用不同的命令和工具来查看和检查端口状态,包括有权限和无权限情况下的操作方法。 ... [详细]
  • 优化 Kotlin 中的 Android Retrofit 和 RxJava 使用
    本文介绍如何在 Kotlin 语言中进一步优化 Android Retrofit 和 RxJava 的使用,通过动态代理简化线程管理,并提供更简洁的代码实现。 ... [详细]
  • 解析 HTTP 头 'Vary: Accept-Encoding' 的作用与重要性
    本文详细探讨了 'Vary: Accept-Encoding' HTTP 头的作用,即指导缓存系统(如代理服务器和 CDN)根据不同的编码需求存储和提供适当的资源版本,确保不同类型的客户端能够接收到适合自己的内容。 ... [详细]
  • 本文探讨了Lua中元表和元方法的使用,通过具体的代码示例展示了如何利用这些特性来实现类似C语言中的运算符重载功能。 ... [详细]
  • 拖拉切割直线 ... [详细]
  • Web网络基础
    目录儿1使用HTTP协议访问Web2HTTP的诞生2.1因特网的起源2.2互联网、因特网与万维网2.3万维网与HTTP3网络基础TCPIP3.1TCPIP协议族3.2TCPIP的分 ... [详细]
  • VSCode中实现大型项目函数跳转的方法
    在处理大型代码项目时,简单的C/C++插件往往无法满足需求。本文介绍如何通过配置GNU Global等工具,在VSCode中实现高效的函数跳转。 ... [详细]
  • 图神经网络模型综述
    本文综述了图神经网络(Graph Neural Networks, GNN)的发展,从传统的数据存储模型转向图和动态模型,探讨了模型中的显性和隐性结构,并详细介绍了GNN的关键组件及其应用。 ... [详细]
  • 我们正在使用GNU Make来构建我们的系统,在makefile文件的末尾,我们通过一个名为Makedepends的包含来生成一系列的.d文件。然而,当文件被删除或移动时,依赖关系会中断,我们需要寻找一种方法来优雅地处理这种情况。 ... [详细]
  • DropBlock:一种卷积网络的正则化技术
    本文详细探讨了DropBlock这一正则化方法在卷积神经网络中的应用与效果。通过结构化的dropout方式,即在特征图中连续区域内的单元同时被丢弃,DropBlock有效解决了传统dropout在卷积层应用时效果不佳的问题。更多理论分析及其实现细节可参考原文链接。 ... [详细]
  • SecureCRT 使用指南与技巧
    本文详细介绍 SecureCRT 软件的基本功能,并分享了一些实用的操作技巧,旨在帮助用户提高远程管理效率。 ... [详细]
  • 本文将详细介绍如何实现类似于CSDN博客的页面返回顶部功能,通过调整返回速度和图标显示条件,使用户体验更加流畅。适合前端开发者参考学习。 ... [详细]
  • 本文介绍了一种算法,用于在一个给定的二叉树中找到一个节点,该节点的子树包含最大数量的值小于该节点的节点。如果存在多个符合条件的节点,可以选择任意一个。 ... [详细]
author-avatar
kicie569
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有