Closed GitGitBunny closed 1 year ago
Hello @GitGitBunny
When you emulate DESFire UID, after anticollision reader sends RATS and tag respond with ATS. The reason why everything works except DESFire UID emulation is that Flipper doesn't respond with ATS.
I know about this bug and I was sure that I fixed that in #2098. What firmware version do you use?
Thanks for the quick Reply @gornekich.
Some more details: HW: 12.F7B9C6 R04:NL Lami FW: 0.75.0 [08-01-2023] 8ee66c3e [1854] 1.13.3:L [7] 0.75.0
@gornekich in addition, this just hit me, i just want to confirm you that it was indeed working so i think you actually fixed the problem. However, it stopped working all of a sudden after a couple of uses and freezes and a firmware repair does not seem to fix the problem. To your expert knowledge, maybe this could be a hardware issue? that it somehow broke down because it froze a couple of times? Is there a way i can provide you with test data if the hardware is functioning properly? i'd be happy to ablige.
@GitGitBunny I think it's not a hardware issue, since other cards emulation works. Could you read DESFire emulation with reader, which can show ATS? I want to be sure that ATS is sent after anticollision. It may be incorrect, but if your tag is iso14443-4 complient (5 bit in SAK is 1), then reader sends RATS and tag must answer with ATS.
The easiest way to do this for me is to read flipper emulation with Android phone with NFC tool application
@gornekich i have done further testing at home. Whenever i am emulating the DESFire card the reader receives no signal. Also when manually transmitting a NFC-A 7-Bytes UID with SAK20 ATQA 0344 the reader receives no signal. I've spoken with several colleagues they suggested the terminals i have used them on maybe were in some sort of dual mode when i tried to open them and by coincidence they disabled that at that day.
The only trail i have is that the Flipper is sending some kind of signal or receiving some kind of signal because of the R:00 error message that is logged on the Flipper. But there is no transmission of data or a handshake.
I have read online some info on bricking magic cards with a bad BCC value. Could that be the case? That i accidently entered wrong values and my FZ is bricked for DESfire communication?
@GitGitBunny @gornekich Have you ever found solution to this? I have the same HW, RADIO ver. and tried multiple FW (released up to 1.4.2023). I could swear my phone recognized my flipper while "emulating UID" as DESfire. I have basically the same problem as described. After trying emulation on an actual reader (not a phone) a "log" button appeared with text "R:00" as shown above.. Each read, even with a phone registers as new "R:00" on flipper but (multiple) phones no longer register anything when trying to emulate DESfire UID. Emulating other NFC cards (classic, ultralight..) works as intended. I can get a read when using a proxmark3, with command "hf 14a info" it shows correct values for UID, ATQA and SAK. ATS value is different from physical card (emulated is shorter - 5 bytes instead of 6). Sometimes when trying to read emulation with PM3 I get errors like: "BCC0 incorrect, got 0x00, expected 0x88" or "Card didn't answer to CL2 select all" Could it somehow be HW issue? Flashing new FW, changing SD card, factory resetting did not help.
Unfortunately also having the same issue. Has there been any progress on this? Bit of a bummer since I just received my Zero. Also tried a DFU reset but to no avail.
@666badguy666 @itsomarawad sorry for the late response, been away for work and couldn't find the time to respond.
I've went to the bottom of this issue, in my case it was a situation of circumstance. The readers that previously did read the emulation were updated that same day to no longer support UID only support. Emulation does work, but DESFire just seems to be very unsupported by the FZ, which is becoming more common by the day. Other emulation does work. This issue makes the FZ irrelevant when compared to products such as Proxmark, but it is still the best tool for SubGHZ. Hope that helps, just don't expect to much regarding NFC simulation.
@GitGitBunny @itsomarawad could you please verify your issue on latest firmware? There was entire NFC refactor
Please reopen if issue persists
Describe the bug.
Ready for a headache? This is not for the faint of heart, an absolute challenge.
Yesterday morning i used my Flipper to read DESfire cards and emulate them to open a few locks during an approved penetration assessment. During the simulation, the Flipper froze during the emulation of the ID so after every emulation i had to hard reset the Flipper (left+back).
In the afternoon emulation of Desfire cards stopped entirely. I have a working NFC card (employee badge) that i tried to emulate and that has been working but now doesn't anymore. The reader does not recognize any signal coming from my Flipper anymore! Neither does my iPhone, when simulating the UID of Desfire (ATQA 4403 or 0403 (last of which is random UID)). Any other NFC card works, it is only when simulating ATQA4403 or 0403 with SAK20. Trying to simulate NFC-A 7 byte with ATQA0400 SAK88 works fine.
I tried manually editing in all different variants that can be manually added, emulation of all work, all except for Desfire. Reading of the Desfire card does work without a problem. It registers properly and identifies it as a DESfire card, but when emulating, it seems no signal is received. When emulating, the UID shows, the led is blinking purple, but the NFC reader does not receive any signal.
One more weird thing: when i just open my iPhone's NFC menu and scan my tag, the Flipper shows a 'log' button and when i click it i get the same message over and over again 'R: 00' whenever i hold the Flipper close to the reader. The weird thing: no debug logs register.
Edit: one more addition: i tried factory resetting, erasing via qflipper, recovery mode repair via DFU and bought a different SD card. All did not fix the problem.
Reproduction
Target
iPhone NFC reader
Logs
Anything else?
To be clear: this has worked. It was perfectly fine and working yesterday morning and now it does not anymore. Below is the R:00 message on the flipper. Do you need more info? please request i'd be happy to share and participate in debugging this issue together.