前言:前几天不知道老板出于什么原因居然给我们研发部门安装了门禁,只有我们研发部的人员使用员工卡才能进出,每天上下班携带员工卡着实不太方便,于是想着动了点歪脑筋...

NFC是在RFID的基础上发展而来的,两者本质上并没有太大的区别,但细节方面还是有点不同:

1.NFC增加了点对点通信功能,通信的双方是相互对等的,而RFID是主从关系。

2.工作有效距离:NFC一般不超过10cm,而RFID最远的可以有几十米。

3.工作频段:NFC仅限于13.56MHz,而RFID有低频(125KHz到135KHz),高频(13.56MHz),超高频(860MHz到960MHz)。

联想到之前做过的一个嵌入式项目使用的富士通的SL3S4011双界面存储芯片一般都是通过序列号ID来识别不同的卡片初步猜测该门禁系统的原理是通过读写器读取IC卡ID后根据设定的权限策略来判定是否有权限通过。所以主要的问题有两个,一是两者使用同一个频段,二是NFC模拟IC卡的ID。

对于第一个问题我将手机靠近了IC卡后听到一声“叮咚”证明他们确实是在同一个频段。

第二个问题是在Stack Overflow的这篇文章找到了答案:http://stackoverflow.com/a/28720342/1016460,下面的内容是对这篇文章的翻译及运用。

前提条件:已经root了的Android手机且带NFC功能

1.使用“TagInfo”读取IC卡内部ID序列号:(如下图红色框内所示我的卡ID为C4 1A CA 88)

2.使用RE管理器打开/etc/libnfc-brcm-20791b05.conf:

如上图所示,原生的第一个红框内为45,第二个框内的数据是没有的。

我把它改成了上面这样,那这些数据是什么意思呢?

先看第二个红框内,0x33表示后面的数据我们是用来作为UID的,紧跟着的04代表后面有4个字节的ID,C4 1A CA 88当然就是上一步读到的IC卡ID号了;那为什么要把45改成4B呢?因为45代表的是总的数据长度,我们在后面一共添加了6个字节所以+6变成4B。

3.保存修改并重启。

大功告成啦,这个时候你去用手机靠近读卡器就能随意的出入门禁了。

补充:要是有很多IC卡需要模拟每次这样改岂不是很麻烦,后来我发现了这个APP可以方便地切换:http://nfcemulator.bmob.cn/

Android使用NFC模拟IC卡相关推荐

  1. Android使用NFC模拟M卡实现 (一)

    Android使用NFC模拟M卡实现 (一) Android使用NFC模拟M卡实现 (二) Android使用NFC模拟M卡实现 (三) 在百度找一遍,没有一篇,讲的比较通俗易懂的文件.讲解Andro ...

  2. Android使用NFC模拟M卡实现 (二)

    Android使用NFC模拟M卡实现 (一) Android使用NFC模拟M卡实现 (二) Android使用NFC模拟M卡实现 (三) 前几天写的第一篇关于NFC的官方文档的翻译,今天才更新第二篇. ...

  3. Android使用NFC模拟M卡实现 (三)

    Android使用NFC模拟M卡实现 (一) Android使用NFC模拟M卡实现 (二) Android使用NFC模拟M卡实现 (三) HCE的特点是模拟智能IC卡(ISO 7816-4),可用于金 ...

  4. 关于HCE——Android手机NFC模拟刷卡成果和心得(上)

    关于HCE--Android手机NFC模拟刷卡成果和心得 一.前言 在最近,开始研究了手机模拟NFC刷卡的一些内容,想是自己实现一次手机模拟刷卡. NFC大家应该都了解,这两年的安卓手机基本都是支持了 ...

  5. nfc读卡java开发,Android通过NFC读取IC卡示例

    [实例简介] Android通过NFC读取IC卡示例,包含读取.写入. [实例截图] [核心代码] nfc_demo └── nfc_demo ├── app │   ├── app.iml │   ...

  6. 使用NFC模拟校园卡门禁功能 【Mac, Windows, Android, 手环】

    COVID-19期间,我们学校实行通行证制度,只有具有通行证的同学的卡才可以自由进出校园,他而没有通行证的人下人出校只能是一种奢望.在这种无理取闹的制度之下,我试想通过NFC模拟出那些可以自由进出的同 ...

  7. 手机手环NFC模拟加密卡,无需电脑,一台手机即可完成

    前言 目前很多手机和手环都具备模拟门禁电梯IC卡的功能,但是遇到加密的卡的话,就没办法,在这里给大家提供一个不要电脑来操作解密和复制加密的教程. 准备工具 具备NFC功能的安卓手机或者手环(苹果系统暂 ...

  8. 如何在android模拟器中模拟sd卡,如何在Android模拟器中模拟SD卡

    如何在Android模拟器中模拟SD卡 简介 Android允许开发者创建一个SD卡镜像并在启动模拟器加载它, 用于模拟物理设备中的SD卡. 下面将介绍: 1. 如何创建一个SD卡镜像? 2. 如何拷 ...

  9. Android NFC 读取IC卡的简单封装

    一.NFC简介 NFC是一种近距离无线通信技术,一种非接触式的识别和互联技术. NFC由非接触式射频识别标准(RFID)及互联互通技术演变而成,通过在芯片上集成了感应式读卡器.感应式卡片和点对点三种功 ...

最新文章

  1. 人工智能医疗的商业化困局
  2. svn 迁移到 git 仓库并保留 commit 历史记录
  3. android 不同型号的终端的UI适配--一种解决方法
  4. Unity经典游戏教程之:雪人兄弟
  5. 3.1 采购管理规划
  6. 021合并两个链表并排序
  7. vue项目中更新element-ui版本
  8. java redis 原子操作_7000字 Redis 超详细总结笔记 !建议收藏
  9. spark.network.timeout参数入门
  10. 使用VC2005编译静态应用程序的方法
  11. cs231n学习笔记 CNN 目标检测 定位 分割
  12. 抖音旋转很炫的html,火爆抖音的旋转时钟屏保,超酷超炫的
  13. ApacheCN 活动汇总 2019.6.28
  14. 博客中常用的Emoji表情整理,欢迎自取
  15. 微型计算机存储容量2mb,在微型计算机中,存储容量为2MB是指
  16. Shel相关编程(四)
  17. 与三角有关的级数求和
  18. 理财十问:1.你知道自己的风险偏好吗?
  19. 小米弹性调度平台Ocean
  20. ISO SAE 21434-2021 要求、建议、允许(RQ、RC、PM)整理

热门文章

  1. chainWebpack配置WebWorkers
  2. 阿里云大数据开发三面面经,已过,面试题已配答案
  3. python在两行中分别输入一个字符串s和整数n,定义一个函数将字符串s循环向右移动n位
  4. ISIS几个命令的区别
  5. android分享图片到qq,Android实现截图分享qq,微信
  6. 架构设计:负载均衡层设计方案(8)——负载均衡层总结上篇
  7. Android实时获取音量(单位 分贝)
  8. Flutter ListView滚动到指定条目
  9. codeforces 300B切题记录
  10. gitHub常用命令笔记