Skip to content
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

NFC over USB (LibNFC) functionality #1173

Closed
tusing opened this issue Apr 27, 2022 · 12 comments
Closed

NFC over USB (LibNFC) functionality #1173

tusing opened this issue Apr 27, 2022 · 12 comments
Labels
Feature Request New feature or user-story you wanna add to flipper

Comments

@tusing
Copy link

tusing commented Apr 27, 2022

In this Reddit thread, @zhovner mentions the Flipper Zero would be able to be used as a "regular USB NFC adapter along with LibNFC." He also provided this diagram:

bb3wVfO

I was wondering if this functionality is implemented yet, and if there are any plans to implement it? I was trying to run some attacks on my Mifare Classic that require a powerful CPU, but I cannot seem to find the NFC over USB option in my own Zero that just arrived (at least under "menu NFC -> USB NFC adapter" as mentioned in the Reddit post.)

#117 seems to add this to the wiki but I still couldn't find anything in the firmware regarding this.

@tusing tusing added the Feature Request New feature or user-story you wanna add to flipper label Apr 27, 2022
@skotopes
Copy link
Member

We've been researching possibility and in theory it's possible, but it's too big overhead to emulate NXP's protocol on flipper, and too much of work to implement our protocol on libnfc side.

In general we are open to ideas like this one, question is in implementation. If you have specific ideas on how it will work and what exactly need to be implemented on flipper side then we will help.

@GMMan
Copy link
Contributor

GMMan commented May 7, 2022

The original idea of passing through commands directly to the NFC hardware sounds like it'd work, and I think is something there are already examples for (with other chips) in libnfc. I'm willing to take a look at this as I have a couple of Mifare Classic cards I want to crack too, though probably not for another few weeks. (I started trying to implement a new driver for a PCSC reader until I found out it doesn't give low level enough control.)

@skotopes
Copy link
Member

The original idea of passing through commands directly to the NFC hardware sounds like it'd work, and I think is something there are already examples for (with other chips) in libnfc. I'm willing to take a look at this as I have a couple of Mifare Classic cards I want to crack too, though probably not for another few weeks. (I started trying to implement a new driver for a PCSC reader until I found out it doesn't give low level enough control.)

There are some timing issues that are going to break everything. We've made couple test and it looks hardly feasible.

@SnowLeopard71
Copy link
Contributor

@skotopes
Maybe the September progress blog post could be updated with a pointer to this issue? It's where the image is from.
If I hadn't found this closed issue accidentally, I would have been waiting for the NFC over USB functionality to be implemented. Thanks.

@jevinskie
Copy link

I’ve successfully implemented NFC communications (not using libnfc though) from a host computer through USB to a MCU connected to the ST25R3916 via SPI. I was able to simple pass through most commands over a USB-SPI bridge while handling a few timing sensitive operations in the MCU firmware and custom USB commands.

@GMMan
Copy link
Contributor

GMMan commented Jun 15, 2022

I’ve successfully implemented NFC communications (not using libnfc though) from a host computer through USB to a MCU connected to the ST25R3916 via SPI. I was able to simple pass through most commands over a USB-SPI bridge while handling a few timing sensitive operations in the MCU firmware and custom USB commands.

Any plans on sharing this work?

@jevinskie
Copy link

Any plans on sharing this work?

Sorry I can’t, it was done for work.

@eqvinox
Copy link

eqvinox commented Aug 30, 2022

Any plans on sharing this work?

Sorry I can’t, it was done for work.

@jevinskie do you feel you can share the list of timing sensitive operations you had to implement directly in the MCU? That might make it easier for someone with limited NFC knowledge to implement this.

@tusing
Copy link
Author

tusing commented Aug 31, 2022

@skotopes If someone has successfully managed to implement this, even if they can't share it due to NDA, should we re-open this issue?

@skotopes
Copy link
Member

@tusing just try to read your comment one more time and answer this question by your self.
PS: Also @jevinskie explicitly mentioned that libnfc is not used.

@LevitatingBusinessMan
Copy link

If the cli for subghz were more flexible, would that not be enough to do some more advanced Mifare attacks?

@skotopes
Copy link
Member

skotopes commented Apr 2, 2023

It depends.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Request New feature or user-story you wanna add to flipper
Projects
None yet
Development

No branches or pull requests

7 participants