android 模拟nfc tag,android nfc tag3 调试日记
android nfc tag3 调试日记
又到了每天最愉快的调试android nfc模块的时候。nfcpy中有一段示例代码:listen.py
大致是模拟nfc tag3卡片。里面对pmm(设备号),idm(tag编号)进行设置然后发包。
查阅tag3 spec,发现:
ndef detection:
step1:
nfc forum device sends a polling command with system code 12fc,
ndef-enabled type 3 tag respond to the polling command by sending a polling response
include ing IDm and Pmm
我们得出结论:对pmm和idm进行解析的部分很可能是NDEF detection的部分,我们如何找到对应的源码呢?
直接在源码中搜索pmm,找到一处:RW_T3tDetectNDef。于是我们就找到了T3tDetectNDef。
继续研究,该函数是如何被调用的呢?
放到gdb中调试:对其下断点,打印函数调用如下:
RW_T3tDetectNDef
nfa_rw_detect_ndef
nfa_rw_handle_op_req
nfa_rw_handle_event
nfa_sys_event
nfc_task
gki_task_entry
很好,我们发现函数调用栈跨越了多个模块,自地向上下断点验证:
发现将nfc发射器放到手机附近时没有在gki_task_entry处断下,说明在在上方必定有一处循环:果然在nfc_task处
有while(true)循环。今天的调试任务到此为止,开始分析源码,美滋滋。
android 模拟nfc tag,android nfc tag3 调试日记相关推荐
- android模拟M卡,Android模拟SD卡实现方法解析
Android手机操作系统是一款开源的操作系统,许多编程爱好者们都需要在模拟器中对这一操作系统进行编写修改已满足自己的需求.在这里我们就来教给大家一个Android模拟SD的方法,帮助大家解决相关问题 ...
- android模拟按键方法,Android随笔之——模拟按键操作的几种方式
前几天转过一篇Android上模拟按键操作.触屏事件的博客,昨天又去找了百度.谷歌了一下,写了一点简单的测试代码,留待不时之需.有需要看之前转载的那篇博客的请看这里→_→转:Android随笔之--使 ...
- android模拟power键,android 发送模拟按键
1. 权限 需要在manifest 里面增加android:sharedUserId="android.uid.system" 加上权限 ... android:sharedUse ...
- Android模拟滑块验证,Android 滑块验证
先上图看看实现效果 1.在 app 的 build.gradle 添加依赖 implementation 'com.luozm.captcha:captcha:1.1.2' 2.将 Captcha 添 ...
- android模拟打印机服务,Android下的POS打印机调用的简单实现
本文基于GP58系列,它可以兼容ESC/POS指令集,对EPSON的打印机通用. Android下的设备调试,如果设备提供了驱动,按照厂家的驱动调试即可:设备未提供驱动,只能按照通用的方法进行调试.这 ...
- android模拟全局按键,android命令行模拟输入事件(文字、按键、触摸等)
前言 通过adb shell input可以模拟android各种输入事件,比如文字.按键.触摸等等. adb shell input Usage: input [] [...] The source ...
- android模拟win98中文版,Android模拟Win 98模拟器(Bochs)
Bochs是用C++开发的可移植的IA-32(x86) PC模拟器,几乎可以运行在所有流行的平台上.它包括对 Intel x86 CPU .通用I/O设备和可定制的 BIOS 的模拟.目前,Bochs ...
- android模拟power按键,Android adb 模拟滑动 按键 点击事件
模拟事件全部是通过input命令来实现的,首先看一下input命令的使用: usage: input ... input text input keyevent input tap input swi ...
- android 模拟滑屏,android模仿桌面左右滑屏
[实例简介] android中桌面左右滑屏幕 看了别人的博客,把发布的资料整理成了一个工程,发布出来大家共同学习 [实例截图] [核心代码] b052dc58-e8c7-4fc4-9211-a160f ...
最新文章
- 19、Java并发性和多线程-嵌套管程锁死
- mysql aggregate_SQL语句之Aggregate函数
- C++(STL):19---deque之删除和emplace用法
- 从Centos7升级到Centos8的教程(图文详解)
- VC++等待光标的两种实现方式
- Unit01: Servlet基础 、 HTTP协议
- 【费用预测】基于matlab粒子群算法优化ELM神经网络预测费用【含Matlab源码 1378期】
- ISO14001环境管理体系问答篇
- 大华服务器如何修改IP,大华摄像头更改IP地址
- 微型计算机虚拟内存器件,内外存储器与缓存内存虚拟内存.ppt
- linux cat 压缩文件,Linux cat和zcat命令可能比你意识到的更有用
- 遗传算法流程概述与简单实例认知
- 门多萨与马尔克斯谈话录
- 32.字典练习---银行卡与初始密码
- 主机通过代理上网虚拟机网络连接配置
- 医院建网站需要多少钱?
- sha256加密时报错 [TMA] Error: input is invalid type
- 多物种密码子偏好性(RSCU)绘图
- 加速乐cookie爬虫
- 【小鱼教你模数电】----继电器原理