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)
迴圈。今天的除錯任務到此為止,開始分析原始碼,美滋滋。
相關文章
- [翻譯] 除錯 Rxjs(二):日誌記錄除錯JS
- android 無線除錯Android除錯
- rk3368 Android9.0 HIDL除錯記錄Android除錯
- Android除錯命令收錄Android除錯
- Android adb 網路除錯Android除錯
- 除錯一記除錯
- Android除錯工具Genymotion的使用Android除錯
- Android 中 WebView 的除錯方法AndroidWebView除錯
- JSP筆記-除錯JS筆記除錯
- Android之記憶體洩漏除錯學習與總結Android記憶體除錯
- node inspect chrome日誌除錯Chrome除錯
- android studio 除錯 framework 層程式碼Android除錯Framework
- (學習)godot4.2 Android除錯GoAndroid除錯
- UE Puerts 在 Android 的除錯方法Android除錯
- Android Studio程式碼除錯技巧篇Android除錯
- 深入理解Android逆向除錯原理Android除錯
- GDB除錯使用記錄除錯
- Android FrameWork學習(二)Android系統原始碼除錯AndroidFramework原始碼除錯
- Android除錯資料庫的福音:Android-Debug-DatabaseAndroid除錯資料庫Database
- Android NFC技術解析,附Demo原始碼Android原始碼
- 遠端除錯 Android 裝置網頁除錯Android網頁
- 使用GDB除錯Android Native 層程式碼除錯Android
- Android 除錯實戰與原理詳解Android除錯
- udev如何除錯,如何看udev的輸出日誌?udev除錯的坑?dev除錯
- Python 學習除錯記錄Python除錯
- GitHub學習除錯記錄Github除錯
- Supervisor 安裝除錯記錄除錯
- 在 Android Studio 上除錯資料庫 ( SQLite )Android除錯資料庫SQLite
- Android Studio怎麼遠端除錯裝置?Android除錯
- 做一個可除錯的Android應用除錯Android
- Android adb除錯出現:opendir failed, Permission deniedAndroid除錯AI
- Android Studio中編譯除錯Launcher3Android編譯除錯
- Android除錯工具-ADB史上最強介紹Android除錯
- Android除錯神器stetho使用詳解和改造Android除錯
- Android 無線 ADB 懶人打法:WiFiADB 除錯AndroidWiFi除錯
- 除錯篇——除錯物件與除錯事件除錯物件事件
- 記憶體洩漏除錯工具記憶體除錯
- 筆記|軟體除錯的技巧筆記除錯