Accueil > Divers (et d’été) > Informatique > Divers > Arnaque à la carte (mémoire)
Arnaque à la carte (mémoire)
lundi 24 juin 2019, par
Depuis quelques mois, une arnaque sévit sur les sites de vente en ligne (Wish, AliExpress mais aussi Amazon France, vendeurs français...) : la vente de carte SD ou micro SD de soi-disant très haute capacité (1 To). Lorqu’on la teste rapidement tout semble correct... Mais ce n’est qu’une illusion !
La carte se présente le plus souvent sous la forme d’une micro-SD vendue avec son adaptateur. Premier indice de l’arnaque, aucune marque...
Mais, après tout, tous les fondeurs de puces sont les mêmes n’est ce pas etqu’importe le flacon, pourvu qu’on est l’ivresse... Alors pour vérifier vous copiez quelques fichiers sur la carte, voire quelques centaines de fichiers, peut être même allez vous jusqu’à la reformater et tout semble fonctionner correctement...
Ces tests ne suffisent pas à déjouer l’arnaque et voici pourquoi... En fait la puce sur laquelle est basée la carte a beaucoup moins de mémoire que la capacité affichée et la zone mémoire est « dupliquée » (ie. utilisée plusieurs fois) en autant d’exemplaires que nécessaire pour faire croire à un total de 1 To. Résultat : au bout d’un certain temps les fichiers écrits sur la carte vont écraser ceux déjà en place. Et si il n’y a pas trop de fichiers/répertoires, les noms des fichiers seront respectés et seul un examen de leur contenu vous permettra de vous rendre compte que quelque chose ne va pas...
Voici un petit programme en Shell Unix qui permet de détecter le soucis.
#!/bin/bash
rm -rf CardTests
mkdir CardTests
cd CardTests
N=10000
CONTROL=/tmp/liste_md5.txt
rm -f $CONTROL
echo -n "Creating random files"
while true
do
F="data_"`echo $N | cut -c2-`".raw"
echo -n '.'
MD5=`dd if=/dev/urandom bs=1k count=1M 2> /dev/null |
tee $F |
md5sum |
awk '{print $1}'`
if [ ! -f $F ]; then break; fi
if [ ! -s $F ]; then break; fi
echo "$F $MD5" >> $CONTROL
N=`expr $N + 1`
done
# Remove last created file (may be truncated)
N=`expr $N - 1`
F="data_"`echo $N | cut -c2-`".raw"
rm $F
cat $CONTROL | grep -v "^$F" > $CONTROL.new
mv $CONTROL.new $CONTROL
echo
echo -n "Phase 1 completed. Checking files"
cat $CONTROL | while read file md5
do
echo -n .
if [ ! -f $file ]
then
echo
echo "File $file vanished. This card is a fake one !"
exit
fi
MD5=`cat $file | md5sum | awk '{print $1}'`
if [ "$MD5" != "$md5" ]
then
echo
echo "File $file corrupted. This card is a fake one !"
exit
fi
done
echo
echo "All test completed. Card is OK"
Principe :
Le script va créer des fichiers aléatoires jusqu’à ce que la partition soit pleine. Pour chaque fichier créé, il en conserve l’empreinte (hash MD5).
Ensuite, il recalcule l’empreinte MD5 des fichiers et les compare aux empreintes enregistrées. Normalement, si la carte est de bonne qualité, on l’empreinte doit être inchangée. Si elle a varié, c’est que le fichier a été corrompu... et donc que la carte que vous venez d’achetez est une arnaque !
Utilisation :
Sur une carte fraîchement formatée, placez vous à la racine et exécutez le script. Prévoyez du temps car écrire 1 To de données prend plusieurs heures...
Résultats :
Sur la carte en ma possession (139 € quand même, heureusement qu’Amazon rembourse sans discuter, ce qui veut dire qu’un coût élevé n’est pas synonyme de qualité) le test échoue et l’analyse des fichier laisse à penser que la carte fait en réalité 32 Go (en me basant sur le nombre de fichiers non corrompus).
Alors ne vous faites pas avoir. Le fait que le vendeur soit français ne garantit absolument rien. Une véritable carte SD de 1 To existe (Lexar l’a sortie début 2019 battant ainsi SanDisk qui proposait une 512 Go) mais elle coute la bagatelle de 400 € !
Dans des versions antérieure de ce type de carte, l’écriture était de plus en plus lente et le test ci-dessus ne peut aboutir... Mais du coup la conclusion est simple : si le test ne « bouge » plus, c’est que vous vous êtes fait avoir :-(