手机NFC模拟门禁卡
楼主所在的某电子科技类大学,从宿舍楼到实验楼到图书馆办公楼,全部都有门禁,前两天突然在某安软件市场看到一个可以模拟门禁卡的软件,然而可能是我的手机系统太6了,竟然模拟不了,无奈自己动手,从根本上解决问题:
先来看 freebuf 的两篇文章:
RFID Hacking:看我如何突破门禁潜入 FreeBuf 大本营
如何利用 Nexus 5 伪造一张门禁卡
貌似并不难:使用带有 NFC 功能的手机模拟门禁卡的 ID 号,
部分门禁卡的读卡器只读取卡的 ID 值。
手机 NFC 卡的信息可以通过配置文件进行修改。
前提是你的手机已经获取 root 权限。
基本步骤在前两个帖子里面都已给出,这里只介绍一下我的实施过程,本人手机nexus 6p,系统6.0.1
开搞:
first
最先做的事情当然是要找一张有效的卡片,获取它的ID信息。在手机上下载 NFC 软件来读取卡片信息,一般来说用上文提到的NFC门禁卡模拟器:NFC Emulator就可以获取 ID 号了,但是这个信息不全面,我们还需要通过NFC Tools软件来知道我们卡片的NFC Tag type,如图:
射频标签的通信标准是标签芯片设计的依据,
目前国际上与RFID相关的通信标准主要有:
- ISO/IEC 18000标准(包括7个部分,涉及125KHz, 13.56MHz, 433MHz, 860-960MHz, 2.45GHz等频段),
- ISO11785(低频),
- ISO/IEC 14443标准(13.56MHz),
- ISO/IEC 15693标准(13.56MHz),
- EPC标准(包括Class0, Class1和GEN2等三种协议,涉及HF和UHF两种频段),
- DSRC标准(欧洲ETC标准,含5.8GHz)。
可以看到,我的卡片的频率标准是13.56MHz,而我手机配置文件给出的频率标准是19.2MHz,需要修改手机的配置文件。
其中有一行 Serial number,一共四个字节,就是卡的 ID 号,在其它 NFC 读取软件上也许叫 ID,总之就是卡的标识。
second
接下来需要对手机进行操作了,使用re管理器(或者es管理器)进入手机根目录,挂载为读写,依次进入system/etc,找到libnfc-nxp.conf这个文件,建议先对该文件备份。
打开libnfc-nxp.conf,可以看到这样一段:
###############################################################################
# System clock frequency selection configuration for PLL
# CLK_FREQ_13MHZ - 0x01
# CLK_FREQ_19_2MHZ - 0x02
# CLK_FREQ_24MHZ - 0x03
# CLK_FREQ_26MHZ - 0x04
# CLK_FREQ_38_4MHZ - 0x05
# CLK_FREQ_52MHZ - 0x06
NXP_SYS_CLK_FREQ_SEL=0x02
这里对我们手机NFC的频率进行了配置,需要改成上文中提到的13.56MHz,也就是
NXP_SYS_CLK_FREQ_SEL=0x01
不同手机的配置参数可能不一样,具体请自行斟酌。
再往下我们能看到这样一段:
###############################################################################
# Core configuration settings
# It includes
# 18 - Poll Mode NFC-F: PF_BIT_RATE
# 21 - Poll Mode ISO-DEP: PI_BIT_RATE
# 28 - Poll Mode NFC-DEP: PN_NFC_DEP_SPEED
# 30 - Lis. Mode NFC-A: LA_BIT_FRAME_SDD
# 31 - Lis. Mode NFC-A: LA_PLATFORM_CONFIG
# 33 - Lis. Mode NFC-A: LA_NFCID1
# 50 - Lis. Mode NFC-F: LF_PROTOCOL_TYPE
# 54 - Lis. Mode NFC-F: LF_CON_BITR_F
# 5B - Lis. Mode ISO-DEP: LI_BIT_RATE
# 60 - Lis. Mode NFC-DEP: LN_WT
# 80 - Other Param.: RF_FIELD_INFO
# 81 - Other Param.: RF_NFCEE_ACTION
# 82 - Other Param.: NFCDEP_OP
NXP_CORE_CONF={20, 02, 2B, 0D,
18, 01, 01,
21, 01, 00,
28, 01, 00,
30, 01, 08,
31, 01, 03,
33, 04, 01, 02, 03, 04,
50, 01, 02,
54, 01, 06,
5B, 01, 00,
60, 01, 0E,
80, 01, 01,
81, 01, 01,
82, 01, 0E
}
从注释可以看出,33代表了 ID 信息,找到33所在的行,04很明显是4个字节的信息长度,之后的01, 02, 03, 04就是你手机对外呈现的 ID 号了,综合前人的帖子可以看出,这里的 ID 号基本都是01, 02, 03, 04,应该不存在不同手机不一样的情况,所以直接找到这四个数据,改成第一步我们读到的我们的卡片的 ID 号,然后保存,退出,重启手机。
last
为了验证是否修改成功,我们需要另外一部支持 NFC 的手机,也装上上面的 NFC Tools 。把自己的手机当作 NFC 卡,用另一个手机来读取其标识号。

如果读到的 ID 号跟我们卡片的ID号一样,那么就收工了,我要拿着卡片出去装逼了~~~
append
经过实际测试,图书馆和主楼的门禁可以进入,老科技楼刷卡之后有反应,但是不能成功识别,宿舍楼压根儿一点反应都没有。
经过反复试验和网上搜索,最后结论:
如果门禁系统只读取卡片的ID号的话,那么上述方法是可行的,但是如果它还校验了卡片的其他信息,那么我们的 DIY 还得继续深入
手机NFC模拟门禁卡的更多相关文章
- 门禁 IC卡 ID 卡 RFID 手环 NFC 银行卡 手机模拟门禁
门禁 IC卡 ID 卡 RFID 手环 NFC 银行卡 手机模拟门禁 原因 最近给公司换了一个门禁. 旧的门禁按键面板已经破了. 不支持我的手环. 按了密码后竟然要按 #. 相关信息 查了资料记录一下 ...
- 利用nexus5伪造一张门禁卡
0×00 前言 我租住的杭州一个老小区一年前出现了所谓的“出租房杀人事件”,事件过后民警叔叔们给小区的每个单元都装上了门禁,所有住户都需要在物业处登记,物业的工作人员会让你提供身份证或者公交卡用来注册 ...
- RFID Hacking①:突破门禁潜入FreeBuf大本营
某天,偶然间拿到了FreeBuf Pnig0s同学的工卡信息,终于有机会去做一些羞羞的事情了 引子 以下故事纯属虚构,如有雷同,纯属巧合. 我应聘了一个大型IT公司的"网络攻击研究部经理&q ...
- RFID Hacking④:使用ProxMark3 破解门禁
文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 前言 国际黑客大会Defcon传统之一:开锁!因为黑客认为锁也是一种安全挑战.我们在黑客题材电影.电视剧中也常常 ...
- NFC应用于公交卡
NFC应用于公交卡https://www.cnblogs.com/liuzhaoyzz/p/7115098.html 带有NFC功能的安卓手机可以给实体公交卡充值,手机虚拟公交卡现在有两种方案,一种是 ...
- 大华门禁SDK二次开发(一)-技术沟通
项目中需要能够查询门禁信号和控制门禁设备,因此需要基于大华门禁SDK进行二次开发,开发语言C#.门禁开发中遇到了一些问题,经过与大华技术的邮件沟通也一一解决.做这个开发的时候,发现网上的资料比较少,想 ...
- 利用Teensy进行em410x卡模拟以及暴力破解em410x类门禁系统
什么是低频?什么是EM410x? 首先,我不得不再次提一下那些工作在125khz频率下的低频卡(如:EM410X之类的),以便大家更好的阅读以下的内容. 什么是低频?以下就是低频的解释: 低频(LF, ...
- 利用Teensy进行EM410x卡模拟以及暴力破解EM410X类门禁系统可行性猜想
前些天Open入手了Teensy++2.0模拟EM410X,并且针对EM410X的门禁进行了一次暴力破解测试,以下就是相关代码以及内容. 什么是低频?什么是EM410x? 首先,我不得不再次提一下那些 ...
- Java 并发专题 : CyclicBarrier 打造一个安全的门禁系统
继续并发专题~ 这次介绍CyclicBarrier:看一眼API的注释: /** * A synchronization aid that allows a set of threads to all ...
随机推荐
- 实现图片的2次缩放后再进行candy边缘检测
//实现图片的2次缩放后再进行candy边缘检测//Author:SD//Date:2015-9-27#include "cv.h"#include "highgui.h ...
- centos6配置远程桌面,使用xmanager访问
现在linux的图形界面越来越丰富,使用图形界面操作也逐渐成为使用者的一种习惯.在我们安装文件的过程中,经常会应用得到. 比如远程安装oracle,或者有多台主机.避免在不同主机间切换显示器. 1.检 ...
- Windows服务程序和安装程序制作
转:http://www.cr173.com/html/15350_1.html 本文介绍了如何用C#创建.安装.启动.监控.卸载简单的Windows Service 的内容步骤和注意事项. 一.创建 ...
- reduce的数目到底和哪些因素有关
reduce的数目到底和哪些因素有关 1.我们知道map的数量和文件数.文件大小.块大小.以及split大小有关,而reduce的数量跟哪些因素有关呢? 设置mapred.tasktracker. ...
- java小程序 质数
package com.test; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; im ...
- Tornado源码分析系列之一: 化异步为'同步'的Future和gen.coroutine
转自:http://blog.nathon.wang/2015/06/24/tornado-source-insight-01-gen/ 用Tornado也有一段时间,Tornado的文档还是比较匮乏 ...
- 山东省第三届ACM省赛
Solved ID PID Title Accepted Submit A 2407 Impasse (+) 0 0 B 2415 Chess 0 0 C 2414 An interest ...
- C Primer Plus(第五版)8
第 8 章 字符输入/输出和输入确认 在本章中你将学习下列内容: · 有关输入,输出以及缓冲和非缓冲输入之间的区别的更多内容. · 从键盘模拟文件结尾条件的方法. · 如何重定向将你的程序与文件相连接 ...
- URAL 1416 Confidentia [次小生成树]
题意: 第一行n m代表n个点m条无向边. 接下来m行每行abc,代表ab之间有一条长度为c的无向边. 求: 最小生成树的边权和 次小生成树的边权和 #include<stdio.h> ...
- c# .NET 进行数据库备份和还原
本文主要内容来源stswordman的介绍,开发环境为10,数据库为08R2 原文地址http://www.cnblogs.com/stswordman/archive/2006/08/06/4690 ...