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

Fix 4k #609

Merged
merged 3 commits into from
Jul 4, 2020
Merged

Fix 4k #609

merged 3 commits into from
Jul 4, 2020

Conversation

gelotus
Copy link
Contributor

@gelotus gelotus commented Jun 30, 2020

According to http:https://www.proxmark.org/forum/viewtopic.php?id=6545 there are many types of block 0 rewritables tags, with standard unlocking commands, with custom unlocking commands, with direct write support, one time write with unlocking commands, one time write with direct writing, one time writing with custom fusing commands and so on. Better to drop the support for these "exotic" tag, that normally came with theirs custom writer software, since is almost impossible to track down every production variation. Support remains of course for genuine tags, those with backdoor commands, direct write tags and their otw variations.
The recognition is almost impossible with all of these production differences from manufacturer to manufacturer.
The is_directwrite function potentially nukes an otw tag. Better to differentiate commands; w for normal writing and W for block 0 writing, trying to unlock and if it fails try to direct write to it. If also fails, the program stops and the user is conscious he can't write block 0 and then goes to normal w write. Tested with genuine and gen2 (direct write) 1k tags.
@AdamLaurie please take a look and test it if you can.

@iceman1001
Copy link
Contributor

There is a real need for good uid-changeable software. Those custom ones comes usually precompiled from unknown sources.
I think I speak for the community when I say that a open source version is preferable.

With that let me suggest something. Why mix everything into one place? Don't become the Proxmark3 swiss army knife mix, use the lib-nfc to build a nfc-magic command which could target 14a based like MFC, MFU, MFdes and also 15693 based?
maybe even a range of commands. nfc_magic_wipe / nfc_magic_setuid / _nfc_magic ?

This will lessen the complexity on current libnfc based tools.

@AdamLaurie
Copy link
Member

@iceman1001 there is already nfc-mfsetuid which could be modified to select specific magic card protocols and although i agree that nfc-mfclassic is too complicated i'm not convinced that entirely separating the magic commands into another program is the answer. each card type you mention has such specific and different requirements for me it doesn't make sense to try to lump them all together.

@iceman1001
Copy link
Contributor

yup, you should have a battery of magic programs which solves the different protocols. No need to be swiss army knife.

@AdamLaurie AdamLaurie merged commit 66d3560 into nfc-tools:master Jul 4, 2020
@gelotus gelotus deleted the fix-4k branch July 4, 2020 23:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants