Nfc Tools sur Windows – Table des matières
- Introduction –> lien
- Comment utiliser l’ACR122U avec libusbK –> lien
- Mifare One Tool en anglais–> lien
- Comment cross-compiler les commandes NFC sur Windows 64 bits –> lien
- Sharp Free fare (encapsuleur libfreefare en dotnet) + mise à jour de SharpNfc –> lien
- libnfc recompilée avec libusb version 1.0 pour Windows –> lien
- Convertisseur en 1 clic de dumps android mifare classic tool <–> libnfc linux/windows nfc- mfc classic, sur windows –> lien
- Téléchargement : tous les outils dans un fichier zip –> lien
Introduction
J’ai cross-compilé libnfc et nfc utils pour windows, en m’aidant de cet article: https://github.com/peacepenguin/libnfc-unofficialbuilds
J’avais un problème de pilote avec libnfc/nfc utils utilisés avec mon ACR122U (erreur : No NFC device found ), mais il suffit en fait d’installer LibUsbK, et ça résous le problème.
- Comment installer LibUsbK pour l’ACR122U –> link
Tous les logiciels pour windows 10 64x ainsi que l’installeur du pilote LibUsbK pour ACR 122U (entre autres) sont dispos en téléchargement gratuit dans cet article.
Remarque : si vous rencontrez une erreur « libwinpthread-1.dll manquant » ou bien « libgcc_s_seh-1.dll manquant », les dll sont inclues dans le lien qui se trouve dans cette section
Comment installer le pilote LibUsbK pour pouvoir utiliser l’ACR122 avec les outils disponibles sur windows ?
- Installer le pilote ACR 122U d’origine dispo ici : https://www.acs.com.hk/en/driver/3/acr122u-usb-nfc-reader/
- Télécharger libusbk : https://sourceforge.net/projects/libusbk/
- Installer le pilote LibusbK comme indiqué ci-dessous:
LIBUSB K 3.1.0.0 guide d’install janvier 2022 (Mise à jour) : https://github.com/xavave/Mifare-Windows-Tool/issues/27#issuecomment-1013955059
Comment cross compiler les logiciels pour windows 64 bits
Mfoc (https://github.com/nfc-tools/mfoc) cross-compilation pour windows :
sur Linux Ubuntu en utilisant build_mfoc.sh :
contenu du fichier build_mfoc.sh (à enregistrer sur votre pc):
MAIN_FILE=mfoc LIBNFC=libnfc CFLAGS=`pkg-config --cflags ${LIBNFC}` CFLAGS_LIBNFC=`pkg-config --cflags libnfc | cut -d ' ' -f 1`/${LIBNFC} x86_64-w64-mingw32-gcc -s -Wl,--allow-multiple-definition ./${MAIN_FILE}.c ./mfoc.c ./mifare.c ./slre.c ./nfc-utils.c ./crapto1.c ./crypto1.c ./bin/libnfc.lib ${CFLAGS} ${CFLAGS_LIBNFC} -o ./bin/${MAIN_FILE}_x64.exe
ensuite lancer ces commandes :
cd mfoc/src chmod +x build_mfoc.sh ./build_mfoc.sh
Cropto1_bs (https://github.com/vk496/cropto1_bs) cross compilation sur windows : (compilé sur windows 64 avec msys2 dispo ici : http://www.msys2.org/ –> version x86-x64)
Remarque : Pour installer gcc sur msys2 cet article peut être utile : https://www.devdungeon.com/content/install-gcc-compiler-windows-msys2-cc
commande de compilation/linking :
x86_64-w64-mingw32-gcc-9.2.0 -o cropto1_bs util.o main.o parity.o ui.o cmdhfmfhard.o util_posix.o crapto1/crapto1.o crapto1/crypto1.o hardnested/hardnested_bruteforce.o hardnested/tables.o C:/libnfc-build/libnfc/libnfc.lib hardnested/hardnested_bf_core_NOSIMD.o hardnested/hardnested_bitarray_core_NOSIMD.o hardnested/hardnested_bf_core_MMX.o hardnested/hardnested_bitarray_core_MMX.o hardnested/hardnested_bf_core_SSE2.o hardnested/hardnested_bitarray_core_SSE2.o hardnested/hardnested_bf_core_AVX.o hardnested/hardnested_bitarray_core_AVX.o hardnested/hardnested_bf_core_AVX2.o hardnested/hardnested_bitarray_core_AVX2.o hardnested/hardnested_bf_core_AVX512.o hardnested/hardnested_bitarray_core_AVX512.o -lz -lm -LC:/msys64/usr/share/readline -lpthread -llzma
mfcuk (https://github.com/DrSchottky/mfcuk) cross compilation pour windows (depuis Linux ubuntu):
build_mfcuk.sh :
MAIN_FILE=mfcuk LIBNFC=libnfc CFLAGS=`pkg-config --cflags ${LIBNFC}` CFLAGS_LIBNFC=`pkg-config --cflags libnfc | cut -d ' ' -f 1`/${LIBNFC} x86_64-w64-mingw32-gcc ./${MAIN_FILE}.c ./mfcuk_mifare.c ./mfcuk_utils.c ./mifare.c ./nfc-utils.c ./mfcuk_finger.c ./crapto1.c ./crypto1.c ./bin/libnfc.lib ${CFLAGS} ${CFLAGS_LIBNFC} -o ./bin/${MAIN_FILE}_keyrecovery_darkside.exe
nfc-mfcclassic (https://github.com/nfc-tools/libnfc/tree/master/utils) build_nfc-mfcclassic.sh
cross compilation pour windows depuis ubuntu:
MAIN_FILE=nfc-mfclassic LIBNFC=libnfc CFLAGS=`pkg-config --cflags ${LIBNFC}` CFLAGS_LIBNFC=`pkg-config --cflags libnfc | cut -d ' ' -f 1`/${LIBNFC} x86_64-w64-mingw32-gcc -s -shared -Wl,--subsystem,windows ./${MAIN_FILE}.c ./mifare.c ./nfc-utils.c ./bin/libnfc.lib ${CFLAGS} ${CFLAGS_LIBNFC} -o ./bin/${MAIN_FILE}.exe
nouveau 7 janvier 2020 : mfoc version hardnested pour windows 64x , basé sur les sources suivantes : https://github.com/vk496/mfoc/tree/hardnested
commandes de cross-compilation : (de légers changements ont du être effectués dans les fichiers sources, notamment pour corriger les références au dossier source nfc et au fichier err.h, ainsi que pour mettre à jour le nom de la version)
(sur windows mingw64) :
autoreconf -vis
automake
make install
correction des erreurs de compilation mfoc quand on lance la commande « make install » :
- fatal error –> nfc/nfc.h : No such file or directory
- – copier le dossier libnfc\include\nfc folder dans le dossier mfoc\src\ et mettre à jour le fichier mfoc.c, dans le dossier mfoc.src:
Remplacer :
#include <nfc/nfc.h>
par :
#include "nfc/nfc.h"
- autre erreur –> fatal error : err.h : No such file or directory
- Copier le fichier libnfc\contrib\win32\err.h dans le dossier mfoc\src\ ainsi que le fichier nfc-utils.h dans le dossier mfoc\src\
Remplacer :
# include <err.h>
par :
# include "err.h"
et relancer la commande :
make-install
- S’il n’y a plus d’erreur ensuite ,mfoc.exe devrait maintenant avoir été crée dans le dossier mfoc/src
- copie d’écran du résultat (test de mfoc hardnested) :
Sharp free fare – 15 janvier 2020
J’ai également mis à jour le wrapper C# de libnfc : SharpNfc ainsi que Sharp free fare, maintenant basé sur la version compilée pour windows de libnfc.dll et de libfreefare.dll:
dispo ici : https://github.com/episage/sharp-free-fare
17 janvier 2020 : libnfc fork – qui fonctionne avec libusb1.0 sur Windows 64 (au lieu de l’ancien libusb 0.1)
J’ai également cross-compilé libusb1.0 sur windows 64 en utilisant ces scripts : https://github.com/FPGAwars/libusb-cross-builder
Ensuite J’ai compilé (après quelques corrections d’erreurs dans les références #include du code source), libnfc avec libusb1.0 ; lien de cette version dédiée de libnfc : https://github.com/nfc-tools/libnfc/tree/libusb10
Remarque : J’ai seulement ajouté le pilote USB pour le ACR122 dans la compilation mais rien ne vous empêche d’en ajouter d’autres 🙂
commande de cross-compilation sur Mingw64 (msys2):
- Mettre à jour nfc.c –> return « 1.7.0 LIBUSB10 »;
const char * nfc_version(void) { #ifdef GIT_REVISION return GIT_REVISION; #else return "1.7.0 LIBUSB10"; #endif // GIT_REVISION }
- compiler –>
gcc -Dnfc_EXPORTS -DDEBUG -DDRIVER_ACR122_USB_ENABLED -c drivers/acr122_usb.c buses/usbbus.c chips/pn53x.c iso14443-subr.c nfc-internal.c nfc.c target-subr.c nfc-device.c mirror-subr.c log-internal.c -I ~/libusb/include/libusb-1.0 -I ~/libnfc-libusb10/include -I ~/libnfc-libusb10/contrib/win32 -I ~/libnfc-libusb10/libnfc -L ~/lisbusb/bin/libusb-1.0.dll.a -static -lusb-1.0
- Linker –>
gcc -shared -o libnfc.dll nfc.o target-subr.o iso14443-subr.o usbbus.o acr122_usb.o nfc-internal.o nfc-device.o pn53x.o mirror-subr.o -L ~/lisbusb/lib/libusb-1.0.dll.a -lusb-1.0
Téléchargement libnfc.dll.zip qui fonctionne avec libusb 1.0 pour Windows 64:
contenu du zip libusb :
Télécharger libusb-1.0.dll et ses dépendances pour Windows 64:
21 janvier 2020 – Convertisseur en 1 click de dumps android mifare classic <–> linux/windows nfc- mfc classic
Ce petit logiciel convertit les dumps Mifare classic tool en dumps nfc mfc classic et réciproquement
Comment l’utiliser : démarrez simplement le logiciel « mct2dmpGui.exe », ensuite , ouvrez le dump à convertir en cliquant sur « Convert », puis enregistrez le dump converti ou vous voulez
Ce logiciel utilise le dotnet framework 4.7.2 , vous pouvez le télécharger ici, dans le menu « releases »: https://github.com/xavave/bm-mifare-classic/releases
L’application detecte automatiquement si c’est un dump Mifare classic tool (texte) ou bien un dump nfc-mfc classic (binaire) et convertit selon le cas d’un format vers l’autre
Télécharger les sources et l’executable sur mon github –> https://github.com/xavave/bm-mifare-classic/wiki
nouveau 22 janvier 2020 : tous les outils cités dans cet article, dans un fichier zip (plus pratique), incluant le dernier nfc-mfcclassic avec l’option C (pour les tags chinois) et l’outil : nfc detect chinese magic card ainsi que libnfc_crypto_crack.exe –> téléchargement :
Contenu du zip :
cropto1_bs.exe
libgcc_s_seh-1.dll
liblzma-5.dll
libnfc.dll
libnfc_crypto_crack.exe
libusb0.dll
libwinpthread-1.dll
mfcuk_keyrecovery_darkside.exe
mfoc.exe
mfoc_hardnested.exe
nfc-anticol.exe
nfc-barcode.exe
nfc-dep-initiator.exe
nfc-dep-target.exe
nfc-detect-chinese-magic-card.exe
nfc-emulate-forum-tag2.exe
nfc-emulate-forum-tag4.exe
nfc-emulate-tag.exe
nfc-emulate-uid.exe
nfc-jewel.exe
nfc-list.exe
nfc-mfclassic.exe
nfc-mfsetuid.exe
nfc-mfultralight.exe
nfc-poll.exe
nfc-read-forum-tag3.exe
nfc-relay-picc.exe
nfc-relay.exe
nfc-scan-device.exe
pn53x-diagnose.exe
pn53x-sam.exe
pn53x-tamashell.exe
solve_bs.exe
I have tried to compile nfc utils by myself on window 10 for serveral days. I tried many many times, but failed at last. Today I found your blog, and downloaded libusbk and nfc tools. Now I can finally use my ACR122U reader on windows 10! Thank you.
Bonjour, Superbe travail.
Je suis à la recherche ou voir si c’est possible de faire un emulateur qui dès la détection d’un badge va copier la valeur où se trouve le curseur de l’ordinateur.
Auriez-vous cela en stock?
Cordialement
Anthony
Bonjour et merci, je n’ai pas ça en stock mais je pourrais le faire …
Hi
Do you still read messages from this post?
Because I have a question for You. 🙂
I wonder if your tool will support such a device?
MTools All-In-One PN532 (https://shop.mtoolstec.com/product/mtools-all-in-one-pn532)
MTools All-In-One PN532 uses these drivers
Windows: http://www.wch.cn/download/CH341SER_EXE.html
macOS: http://www.wch.cn/download/CH341SER_MAC_ZIP.html
The file « mfoc.exe » from your package sees the NFC reader. But the whole package « MifareOneTool-English version 1.7.7204 » has a problem with this.
https://i.postimg.cc/tTYTm8Cs/Mifare-One-Tool-2020-06-30-16-03-26.png
What else do I need to install (which driver) for the device to be detected?
Thank You for your help.
its ok only need libusbk for it runs.
well man thx a lot it saved to me few hours
Hello, in a first thx for your efforts.
I have a question, las package with all exe, are they up to use or need solve dependencies?
Thx again