-
Notifications
You must be signed in to change notification settings - Fork 906
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
14b RAW - accessing the iso7816 layer on a 14b tag. #128
Comments
Can we please see the rest of the response to REQB? It is truncated to 9 bytes. |
here you go. |
Thanks. I just wanted to check if the card supports iso14443-4 (it does) and if the timeout is enough (it is). But I am not sure if your command is correct. I think that your card simply doesn't understand the command and therefore doesn't respond (there is no NACK in this case). btw: in your |
The CLA 0x94, is very intended. Navigo has a propritary command. -If you are talking about the spindelay in "TransmittFor14443B()", its for letting the tag to get some time to powerup before sending the first time. -If you are talking about the StartCountSspClk( in "TransmittFor14443B()", I saw the EPA changes had this one in its setup, https://github.com/Proxmark/proxmark3/blob/master/armsrc/iso14443b.c#L989 and thought I could test it too. |
A length byte of 0x00 starts an extended length and two more bytes would be expected. Length 0 is declared by omitting the length byte. |
according to iso7816, the master/slave setup means that the slave (ie tag) must answer to a apdu no matter what. If the apdu is formatted wrong, it should always answer. So I'm not buying your idea that a wrong apdu is making the tag not-responding. And, I got a snoop, from cardpeek and tag. |
Did you try the command similar to the snoop? (hf 14b raw -c -p -s 02 94 a4 00 00 02 20 00 00) |
yes I did, and I guess the last 0x00 is the expected response len.. But that doesnt match the snoop response.. however, the following up answer to your question is I didn't get a response from the tag. |
well, the user who took the snoop tried and run against his tag. So question is now, whats wrong with my tag... |
Can it be a "disabled" (killed) tag? With iso15693 it is possible but tag will never answer back anymore... maybe it really need an auth of some kind? Inviata dal mio dispositivo Android. -----Original Message----- well, the user who took the snoop tried and run against his tag. So question is now, whats wrong with my tag... Reply to this email directly or view it on GitHub: |
As it looks like at the moment then that could be the case here with my tag... |
Not a killed tag... but a brand new one, without a subscription on it. |
@pwpiwi I tried a another sqrt[ci^2 + cq^2), which works better for my setup. Don't know if it takes too long time to execute. You see it below. Feedback what you think about it would be nice. My question is your "MAKE SOF DECISION", what does it do? // The soft decision on the bit uses an estimate of just the #define SUBCARRIER_DETECT_THRESHOLD 8 // Subcarrier amplitude v = sqrt(ci^2 + cq^2), approximated here by max(abs(ci),abs(cq)) + 1/2*min(abs(ci),abs(cq))) |
Well, this version of I would agree that it is easier to comprehend, but it is slower. I don't know if it is too slow. I had a hard time to understand |
Don't know if it gives the same result, since this one works better for me. I can get @marshmellow42 "-s" to work, which wasn't before. |
OK, seems neat, however not consistent. if yes, v > 0
#db# ICE: 47 752 -13 43 -4 |
This is still within the same quadrant +/-45°. Therefore OK and consistent. It would cross the 45° line for cq=44. Then v would become 0 and a phase shift would be detected. |
hm I must be thinking this differently.. -1,1 | 1,1-1,-1 | 1,-1 sumi, sumq is -648, -6 |
Exactly. If the vector is in the adjacent half of the neighboring quadrants then this is considered "in phase" as well. |
Since the original answer is answered, (the tag is not initialised yet for usage by navigo. I wonder if there is a way to detect that?) |
[using the latest code from github and my fork :) ]
14b RAW - accessing the iso7816 layer on a 14b tag.
I can get the tag to be selected and get it into a active state where it listens to iso7816 apdu frames.
If I send a correct apdu, it doesn't block&resets and I can re-run correct apdus over and over.
But I never get the answer from the tag. e.g. 90 00, I have printed debugs to see if it is the uart/demod but no. I tried increasing the timeout from 2000 to 200000. Nada. The demod never get anything in... its like the FPGA doesn't pick up the signal.
--relevant fpga code would be in regard to these modes:
FPGA_MAJOR_MODE_HF_READER_RX_XCORR | FPGA_HF_READER_RX_XCORR_848_KHZ
@pwpiwi help!
-- as seen below, the select is working, but no answer to the apdu is received.
pm3 --> hf 14b raw -c -p -s 02 94 a4 00 00 00
REQB : 50 26 58 4B 0C 00 00 00 00
ATTRIB : 00 78 F0
db# max behindby = 3, samples = 262144, gotFrame = 0, Demod.len = 0, Demod.sumI = 1, Demod.sumQ = 1
received 0 octets
The text was updated successfully, but these errors were encountered: