Libnfc et les outils de nfc/utils (mfoc.exe , cropto1_bs.exe, mfcuk.exe, nfc-mfcclassic.exe,…) sur Windows 10

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  ?

  1. Installer le pilote ACR 122U d’origine dispo ici : https://www.acs.com.hk/en/driver/3/acr122u-usb-nfc-reader/
  2. Télécharger libusbk : https://sourceforge.net/projects/libusbk/
  3. 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

3353 téléchargements

 

Taggé , , , , , , , , , , , , , , , , , , , , , , , , , , , , .Mettre en favori le Permaliens.

A propos Xavier

7 years+ .net consulting

20 réponses à Libnfc et les outils de nfc/utils (mfoc.exe , cropto1_bs.exe, mfcuk.exe, nfc-mfcclassic.exe,…) sur Windows 10

  1. bing dit :

    Thanks for the nfc related tools, they resolve my problem on ACR122U.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha * Time limit is exhausted. Please reload CAPTCHA.