-
Notifications
You must be signed in to change notification settings - Fork 473
Expand file tree
/
Copy pathtermux-nfc.in
More file actions
125 lines (120 loc) · 4.9 KB
/
termux-nfc.in
File metadata and controls
125 lines (120 loc) · 4.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#!@TERMUX_PREFIX@/bin/bash
set -e -u
show_usage() {
echo "Usage: termux-nfc -"
echo ""
echo "Reads from stdin line by line, parse each line as JSON object specifying an NFC operation, and execute it."
echo ""
echo "Tag discovery: {"op": "discoverTag"}"
echo 'API: {"op": "api", "class": "<CLASSNAME>", "method": "<METHODNAME>", "args": [ARG1, ARG2, ...]}'
echo ""
echo "Byte array is supplied and returned in hexadecimal format, for example: 01234567DEADBEEF".
echo ""
echo "Class/Method/Args:"
echo " TagTechnology close"
echo " TagTechnology isConnected"
echo " TagTechnology getTag"
echo " ---"
echo " NfcA connect"
echo " NfcA getAtqa"
echo " NfcA getMaxTransceiveLength"
echo " NfcA getSak"
echo " NfcA getTimeout"
echo " NfcA setTimeout <timeout>"
echo " NfcA transceive <hex-data>"
echo " ---"
echo " NfcB connect"
echo " NfcB getApplicationData"
echo " NfcB getMaxTransceiveLength"
echo " NfcB getProtocolInfo"
echo " NfcB transceive <hex-data>"
echo " ---"
echo " NfcF connect"
echo " NfcF getSystemCode"
echo " NfcF getManufacturer"
echo " NfcF getMaxTransceiveLength"
echo " NfcF getSystemCode"
echo " NfcF getTimeout"
echo " NfcF setTimeout <timeout>"
echo " NfcF transceive <hex-data>"
echo " ---"
echo " NfcV connect"
echo " NfcV getDsfId"
echo " NfcV getMaxTransceiveLength"
echo " NfcV getResponseFlags"
echo " NfcV transceive <hex-data>"
echo " ---"
echo " IsoDep connect"
echo " IsoDep getHiLayerResponse"
echo " IsoDep getHistoricalBytes"
echo " IsoDep getMaxTransceiveLength"
echo " IsoDep getTimeout"
echo " IsoDep isExtendedLengthApduSupported"
echo " IsoDep setTimeout <timeout>"
echo " IsoDep transceive <hex-data>"
echo " ---"
echo " Ndef canMakeReadOnly"
echo " Ndef connect"
echo " Ndef getCachedNdefMessage"
echo " Ndef getMaxSize"
echo " Ndef getNdefMessage"
echo " Ndef getType"
echo " Ndef isWritable"
echo " Ndef makeReadOnly"
echo " Ndef writeNdefMessage <hex-message>"
echo " ---"
echo " MifareClassic authenticateSectorWithKeyA <sector-index> <hex-key>"
echo " MifareClassic authenticateSectorWithKeyB <sector-index> <hex-key>"
echo " MifareClassic blockToSector <block-index>"
echo " MifareClassic connect"
echo " MifareClassic decrement <block-index> <value>"
echo " MifareClassic getBlockCount"
echo " MifareClassic getBlockCountInSector <sector-index>"
echo " MifareClassic getMaxTransceiveLength"
echo " MifareClassic getSectorCount"
echo " MifareClassic getSize"
echo " MifareClassic getTimeout"
echo " MifareClassic getType"
echo " MifareClassic increment <block-index> <value>"
echo " MifareClassic readBlock <block-index>"
echo " MifareClassic restore <block-index>"
echo " MifareClassic sectorToBlock <sector-index>"
echo " MifareClassic setTimeout <timeout>"
echo " MifareClassic transceive <hex-data>"
echo " MifareClassic transfer <block-index>"
echo " MifareClassic writeBlock <block-index> <hex-data>"
echo " ---"
echo " MifareUltralight connect"
echo " MifareUltralight getMaxTransceiveLength"
echo " MifareUltralight getTimeout"
echo " MifareUltralight getType"
echo " MifareUltralight readPages <page-offset>"
echo " MifareUltralight setTimeout <timeout>"
echo " MifareUltralight transceive <hex-data>"
echo " MifareUltralight writePage <page-offset> <hex-data>"
echo " ---"
echo " NfcBarcode connect"
echo " NfcBarcode getBarcode"
echo " NfcBarcode getType"
echo " ---"
echo " NdefFormatable connect"
echo " NdefFormatable format <hex-message>"
echo " NdefFormatable formatReadOnly <hex-message>"
echo ""
echo "Example:"
echo ' {"op": "discoverTag"}'
echo ' {"op": "api", "class":"IsoDep", "method": "connect", "args": []}'
echo ' {"op": "api", "class":"IsoDep", "method": "transceive", "args": [{"format": "hex", "value": "00A40000023F00"}]}'
echo ' {"op": "api", "class":"TagTechnology", "method": "close", "args": []}'
echo ' {"op": "api", "class":"MifareClassic", "method": "connect", "args": []}'
echo ' {"op": "api", "class":"MifareClassic", "method": "authenticateSectorWithKeyA", "args": [0, {"format": "hex", "value": "FFFFFFFFFFFFFFFF"}]}'
echo ' {"op": "api", "class":"MifareClassic", "method": "readBlock", "args": [0]}'
echo ' {"op": "api", "class":"TagTechnology", "method": "close", "args": []}'
exit 0
}
if [ $# -ne 1 ] || [ "$1" != "-" ];
then
show_usage
exit 1
fi
@TERMUX_PREFIX@/libexec/termux-api Nfc