Christina Quast
452aee337c
simtrace config 4 enabled
2015-04-03 13:22:18 +02:00
Christina Quast
97922ba1d0
phone.py: do not change state to WAIT_RST after responding to file select command
2015-04-03 11:46:34 +02:00
Christina Quast
cce4b0959c
return commands read from card
2015-04-03 11:43:09 +02:00
Christina Quast
1dd996a0c3
Define for phone interface numbers in phone.py
2015-04-03 11:42:29 +02:00
Christina Quast
69d1f90c12
MITM python program first draft
2015-04-03 11:41:23 +02:00
Christina Quast
e90decef3d
redefinition of PHONE_* in phone.c
2015-04-03 11:40:38 +02:00
Christina Quast
1d80ef23a0
defined PR to easily switch between INFO/DEBUG prints
2015-04-03 11:39:38 +02:00
Christina Quast
d3630cc86d
phone ISR with mask (does not function yet)
2015-04-03 11:38:24 +02:00
Christina Quast
8e5381ca10
phone RST define taken from simtrace.h
2015-04-03 11:37:17 +02:00
Christina Quast
7123425841
redifined phone usb interface
2015-04-03 11:35:59 +02:00
Christina Quast
254acae448
raw ccid communication with variable commands
2015-04-01 19:36:34 +02:00
Christina Quast
a3496f4921
Phone RST: only trigger on rising edge
2015-03-27 18:54:50 +01:00
Christina Quast
4bcc023be7
Phone hack: endless loop
...
Motorola seems to be in an endless loop?
In any case, it only shows the motorola logo and does not react to
pressing the power button.
2015-03-24 21:59:32 +01:00
Christina Quast
5134fb6f53
phone.py:Bug fixes, first part of communication works
2015-03-22 19:09:02 +01:00
Christina Quast
2889fc2d38
Bug fixed, timeout frequ increased
2015-03-22 19:06:51 +01:00
Christina Quast
a1dd0ef4bc
Double size buf, a lot of debug
2015-03-22 19:06:12 +01:00
Christina Quast
0ca8390a8d
first few communication steps work
2015-03-22 19:05:23 +01:00
Christina Quast
e5342b3c25
Added more cmds to phone.py smartcard emulator
2015-03-19 19:29:49 +01:00
Christina Quast
531d10b403
Timer counter functions, Makefile adjusted
2015-03-19 19:28:18 +01:00
Christina Quast
4e4682c785
Bug fix: state returned by each handle* func now
...
The variable state is not a global function.
So its value needs to be returned from each function
which might alter the state.
For now only two states exist: WAIT_RST, WAIT_CMD
FIXME: Probably there is a more elegant way to do that
2015-03-18 18:48:57 +01:00
Christina Quast
5a691a36d1
Sniffed and parsed communication in a comment
2015-03-18 18:45:14 +01:00
Christina Quast
ce296b9def
Attempt to implement working simcard emulator
...
The BUFLEN is fixed 5 bytes now, which has to be increased.
A timeout has to be implemented, which is smaller than max_waittime.
If the timeout is triggered, the data received in the buffer so far
should be sent to the host computer which is responsible for generating
a response. Without the timeout the max_waittime of the phone would
expire and it would repeat sending the command, so that we do not
have atomary messages anymore.
2015-03-18 18:41:19 +01:00
Christina Quast
69734e9ad9
phone.py: too many usb function calls
2015-03-15 16:09:55 +01:00
Christina Quast
381d0fcde9
simtrace.py: cmdline arg for simcard emulation
2015-03-15 15:13:38 +01:00
Christina Quast
1185ae7184
phone.py: send ATR on rst
2015-03-15 15:12:50 +01:00
Christina Quast
578daaaeff
first try of sim card emulator
2015-03-13 23:46:01 +01:00
Christina Quast
74876d2079
SIM card still absent
2015-03-13 23:45:33 +01:00
Christina Quast
cc2186642e
Made trace.h a symbolic link
2015-03-13 14:42:30 +01:00
Christina Quast
ce8fa7e646
Add optional TRACE_*_WP switch
2015-03-13 13:09:51 +01:00
Christina Quast
23bb831cfb
Added prob useful gdb information
2015-03-13 13:06:03 +01:00
Christina Quast
1c3a7994b8
Basic Assembler defines
2015-03-13 12:57:59 +01:00
Christina Quast
f07ec9fa4b
Header file with includes
2015-03-13 12:55:41 +01:00
Christina Quast
0a0ca9fa81
Add resources for gdb and gcc
2015-03-13 12:35:12 +01:00
Christina Quast
2a823a4ad0
Unignore unused files
2015-03-13 12:31:06 +01:00
Christina Quast
391dc2eb43
Undefine possibility for USB trace info
...
Define USB_NO_DEBUG to undefine TRACE_DEBUG_WP and TRACE_INFO_WP
2015-03-13 12:02:31 +01:00
Christina Quast
b4d1b9d937
gemalto USB card reader dump
2015-03-10 23:36:23 +01:00
Christina Quast
ecfad8f75c
changed select command to one supported by simcard
2015-03-10 23:35:11 +01:00
Christina Quast
c63df595e5
Atmel lib bug fixed: param position off by one
...
Furthermore the debug output level is INFO instead of DEBUG now.
2015-03-10 23:32:45 +01:00
Christina Quast
dba7b16b98
ccid.py should not stop when an error occurs
2015-03-10 17:58:54 +01:00
Christina Quast
32a90ac660
remove windows line endings in iso7816_4.c
2015-03-10 16:18:16 +01:00
Christina Quast
40544cacca
ignore zwizwa example code and Baselibc symlink
2015-03-10 16:04:44 +01:00
Christina Quast
e03630f593
Problematic check for smartcard pin in ISR
...
This is a bug and should be fixed:
The smartcard insertion detection does not work if we uncomment
the check. But on the other hand, pcscd detects a lot of erroneous
smartcard insertion and removal events.
2015-03-10 15:56:05 +01:00
Christina Quast
0757fff70b
Bugfix: add header file for ccid reset pin
2015-03-10 15:54:34 +01:00
Christina Quast
e4bd7c104d
Removed comment about USART_Configure in iso7816_4.c
2015-03-10 15:52:49 +01:00
Christina Quast
2fcef41c90
Reference to reset pin passed to ISO7816_Init
2015-03-10 15:51:21 +01:00
Christina Quast
c5a78d72bf
simtrace: wait until usb is configured
2015-03-10 15:37:52 +01:00
Christina Quast
917e0415c9
TODO notes for program
2015-03-10 15:34:00 +01:00
Christina Quast
7c9edfac25
Python script for serial usb card reader
2015-03-10 15:33:06 +01:00
Christina Quast
6838fb603d
Remove atmel lib ccid targets from Makefile
2015-03-10 15:25:51 +01:00
Christina Quast
5ce38abd36
Moved code for select file cmd into function
...
The select command mostly works when the blue sysmocom SIM card is inserted,
but with the white SuperSIM we always get timeouts and invalid answers.
Furthermore the white card takes much longer to answer the requests than the
blue one.
So probably there is a timing issue.
Currently this is the simtrace output for select and reading IMSI, etc:
(pcscd must be running as welil, otherwise we get:
$ ./simtrace.py -S
Exception: Failed to establish context : Service not available.)
$ ./simtrace.py -S
Context established!
PCSC Readers: ['ATMEL AT91SO CCID Smart Card Reader [SIMtraceCCID] 00 00']
Using reader: ATMEL AT91SO CCID Smart Card Reader [SIMtraceCCID] 00 00
Connected with active protocol 1
Select: 0x6E 0x00
Command: 0x6D 0x00
Disconnected
Released context.
==> Expected answer for Select: 0x6D 0x00
(based on trying to execute this command with gemalto usb smart card reader)
The command works only every now and then
$ ./simtrace.py -b
pcsc: wait_for_card
Reading ...
Traceback (most recent call last):
File "./simtrace.py", line 105, in <module>
main()
File "./simtrace.py", line 66, in main
ccid.pySim_read()
File "/home/chrysh/ba_thesis/sysmocom_repo/usb_application/ccid.py", line 22, in pySim_read
(res, sw) = scc.read_binary(['3f00', '2fe2'])
File "/home/chrysh/code/src/pysim/pySim/commands.py", line 42, in read_binary
r = self.select_file(ef)
File "/home/chrysh/code/src/pysim/pySim/commands.py", line 35, in select_file
data, sw = self._tp.send_apdu_checksw("a0a4000002" + i)
File "/home/chrysh/code/src/pysim/pySim/transport/__init__.py", line 87, in send_apdu_checksw
raise RuntimeError("SW match failed ! Expected %s and got %s." % (sw.lower(), rv[1]))
RuntimeError: SW match failed ! Expected 9000 and got 9404.
==> Error code 9404 does not exist, which suggests that we actually have a timing issue when
communicating with the smart cart
2015-03-10 15:16:13 +01:00
Christina Quast
1a224af098
Re-fixed ATR error not send on reset
2015-03-10 15:11:37 +01:00
Christina Quast
53d94264ee
gemalto: dump of select file and read further commands
2015-03-09 17:19:48 +01:00
Christina Quast
c9c62ce7c7
dump: bug of usb select file request
2015-03-09 17:18:53 +01:00
Christina Quast
31b5b4ed93
renamed ccid reader select file python script
...
The command can be called now using the following command:
./simtrace -S
2015-03-09 17:17:14 +01:00
Christina Quast
b58434eb2f
Atr[3] is protocol, not Atr[5], right?
...
Also: Added debug information for command not supported
2015-03-09 17:13:07 +01:00
Christina Quast
d89f4ee948
Ignore python bytecode files (pyc)
2015-03-09 16:44:11 +01:00
Christina Quast
d065a4b59d
moved config change code to simtrace.py
2015-03-06 19:12:55 +01:00
Christina Quast
71742c770c
CCID reader general: does not work yet
...
Protocol type 0x2 not supported
2015-03-06 19:11:45 +01:00
Christina Quast
f2582fc124
python simtrace suit: sniffer, ccid reader
2015-03-06 19:09:35 +01:00
Christina Quast
2dcaa10221
add kevins iccid, imsi, .. read commands
2015-03-06 18:14:43 +01:00
Christina Quast
60dce5d5fc
Ignore .E, pycache, atmel_softpack lib files
2015-03-05 15:49:17 +01:00
Christina Quast
297f1a4d55
moved gitignore to root dir
2015-03-05 15:46:47 +01:00
Christina Quast
0166c6d64e
Temporary fix: mitm mode use EP 4-6
2015-03-05 15:44:05 +01:00
Christina Quast
b5ebebea0f
main: configure red led, just in case
2015-03-05 15:43:01 +01:00
Christina Quast
541656cf60
Add CCID functions to func ptrs struct
2015-03-05 15:42:40 +01:00
Christina Quast
73e5658665
sniffer: removed debug write
2015-03-05 15:41:51 +01:00
Christina Quast
1bcac26786
removed atr buf in run func
2015-03-05 15:41:17 +01:00
Christina Quast
53a76082dc
ccid: Get card atr in init
2015-03-04 19:01:34 +01:00
Christina Quast
8043fdd4d3
bus configuration in phone
2015-03-04 18:45:30 +01:00
Christina Quast
800019f0dd
Fixed ccid define bug in board.h
2015-03-04 13:40:54 +01:00
Christina Quast
83628d41eb
Added pin defines simcard power
2015-03-03 23:08:44 +01:00
Christina Quast
f274a78e1a
Send poweroff in ccid.py
2015-03-03 22:20:22 +01:00
Christina Quast
db7b1abd17
CCID config, init, run
...
Switching to config 1 and 2 works, but to 3 and 4 usb_enum.py is
hanging for some reason. Switching the USB config from Sniffer to
CCID reader was not tested yet.
2015-03-03 12:34:54 +01:00
Christina Quast
4ba4d2230b
sniffer functionality fixed buffer
...
It is possible to use sniffer.py to sniff the phone-simcard-communication.
To be fixed: The buffer size read is fixed and the data is only send
over USB if the buffer max length is reached. which means we don not
get the last bytes of the transaction.
This should be changed in one of the next commits. Maybe the former
simtrace code can give some inspiration on this topic.
2015-03-02 16:14:09 +01:00
Christina Quast
cafde00218
conf initially sniff conf
2015-03-02 16:12:16 +01:00
Christina Quast
57e200539b
python code usb config change
2015-03-02 16:10:04 +01:00
Christina Quast
763e5309a3
sniff of phone startup bytes
2015-03-02 16:09:45 +01:00
Christina Quast
9836933a27
python sniffer host side
2015-03-02 16:08:40 +01:00
Christina Quast
394b894da1
change naming for default bus switch config
2015-02-27 15:31:09 +01:00
Christina Quast
da373fde1b
Add input interrupt endpoint to all configurations
2015-02-27 15:26:26 +01:00
Christina Quast
6032e796b9
string descr 0 is language identifier
2015-02-27 15:22:25 +01:00
Christina Quast
33864fa36c
Set default trace level to FATAL
...
Because to compile with a debug trace level you can simply type:
colormake TRACE_LEVEL=5
2015-02-27 13:41:34 +01:00
Christina Quast
fb524b9bb3
Function pointer struct in main for run,init
2015-02-27 13:39:45 +01:00
Christina Quast
1edf350c34
MITM code and run and init decl in header
2015-02-27 13:33:52 +01:00
Christina Quast
f5462b47bd
Change Makefile to compile simtrace firmware
2015-02-25 18:47:45 +01:00
Christina Quast
6f856337e2
Merge branch 'master' of ssh://git.admin.sysmocom.de/christina/simtrace
...
Conflicts:
sam3s_example/.gitignore
2015-02-25 18:46:48 +01:00
Christina Quast
d2b05f014c
comment changed
2015-02-25 18:44:24 +01:00
Christina Quast
0ae0314f6b
Add usb config changed callback func
2015-02-25 18:43:46 +01:00
Christina Quast
10b2e5accc
Consistent config num enum for main.c and usb.c
2015-02-25 18:40:15 +01:00
Christina Quast
54d0c1fca8
USB enum works again, No CCID conf
2015-02-25 16:04:25 +01:00
Christina Quast
1161b27e7d
main while loop: wait for USB
2015-02-25 14:15:57 +01:00
Christina Quast
968b974cbe
Moved usb descriptors and funcs into single file
2015-02-25 14:10:12 +01:00
Christina Quast
c0aa769a35
Redundant functions in phone and sniffer moved
...
File simtrace_iso7816.c is like a library for iso specific functions.
The next step will be to use the atmel softlib functions instead.
2015-02-25 14:02:01 +01:00
Christina Quast
c02571ebe2
basic structure for main while loop with all configs
2015-02-24 19:09:55 +01:00
Christina Quast
27c643d297
Sniffer functionality and sniffer bus board config
2015-02-24 19:09:08 +01:00
Christina Quast
a90eefa865
sniffer functions
2015-02-24 17:52:29 +01:00
Christina Quast
995e0d1319
git ignore memory librariers
2015-02-24 17:39:57 +01:00
Christina Quast
566d3f9e4a
Made ohone functions extern in header file
2015-02-24 17:39:03 +01:00
Christina Quast
01bbdc3d52
device descriptor phone added
2015-02-24 17:38:45 +01:00
Christina Quast
f554950742
device descriptor sniffer, MITM
2015-02-24 14:27:08 +01:00