90 votes

Comment la capacité d'un disque dur est-elle falsifiée ?

Je lisais un article sur les disques magiques chinois . Comment faire ? L'article parle d'un "mode en boucle" et les commentaires suggèrent d'avoir un contrôleur différent pour mentir à l'OS.

J'ai acheté l'un de ces appareils, je l'ai essayé et il a fonctionné comme annoncé (en écrasant les données lorsqu'il était plein), mais lorsque je l'ai formaté, il a commencé à montrer sa "vraie" capacité.

Comment y parvenir ?

58voto

Sijin Points 3682

FAT32 a une table principale avec de l'espace libre. Vous pouvez modifier cette table maître pour afficher n'importe quelle quantité d'espace libre. J'ai une disquette de 3,7 Go depuis longtemps.

19voto

RichouHunter Points 285

Le matériel n'est pas modifié - la table des fichiers est simplement modifiée pour tromper le système d'exploitation. Lors d'un formatage, la table des fichiers est effacée et la lecture de la capacité réelle est restaurée.

Vous pouvez vous faire prendre par ce type de fausse clé USB ou même de disque dur en Chine si vous vous adressez à un vendeur non réputé.

6voto

Ofir Points 1474

Jusqu'à ce que je voie votre message, j'étais sûr qu'il s'agissait d'un contrôleur différent - en utilisant un contrôleur modifié, vous pouvez dire ce que vous voulez au système d'exploitation. Mais étant donné que le format modifie ce comportement, cela signifie qu'une sorte de ruse a eu lieu au niveau du système de fichiers également. Cela soulève deux options :

  • Il s'agit d'une modification du contrôleur qui ne fonctionne tout simplement pas après le formatage car elle dépend d'une modification du système de fichiers (ce qui me semble toujours plus probable).

  • Il existe un autre moyen de faire cela sans modification matérielle, par exemple en modifiant une liste chaînée de blocs libres pour qu'elle soit circulaire (je ne suis pas assez familier avec les spécificités de FAT32 pour décider si cela est possible - je vérifierai dans quelques jours si personne d'autre ne le fait avant...).

EDIT : Il est naïf de supposer que FAT32 est utilisé, un scénario beaucoup plus probable est qu'un système de fichiers différent qui permet par inadvertance une telle astuce de gestion de l'espace libre circulaire est utilisé (tant que ce système de fichiers est également pris en charge par le système d'exploitation - il serait pratiquement invisible pour l'utilisateur). Cela rend l'examen d'un tel dispositif beaucoup plus intéressant...

6voto

Joshua Issac Points 41

Voici comment créer un disque de 1 000 000 000 d'octets (1 To) sur clé (sous Linux) :

  1. Créez un faux disque formaté de 1 To :

    mkdosfs -C  temp_file 1000000000
  2. Vérifiez que cela s'est réellement produit

    ls -lh temp_file
  3. Connectez votre DoK et vérifiez comment il a été monté :

    mount
  4. Trouvez le nom du périphérique, quelque chose comme /dev/sdb1 (Si vous faites une erreur ici, vous risquez d'endommager un autre disque connecté au système, alors faites attention).

  5. Démontez-le :

    sudo umount /dev/sdb1
  6. Découvrez la taille de notre table FAT :

    ls -s temp_file

(Le premier chiffre est la taille en kilo-octets)

  1. Copie sur DoK

    echo "head -c [size_from_above]K temp_file > /dev/sdb1" | sudo sh
  2. Vous pouvez le monter localement pour jouer comme ça :

    mkdir test
    sudo mount temp_file test -o loop

5voto

MeM Points 1

C'est très simple,

Le contrôleur de la puce flash contient certains paramètres. L'ID du produit, l'ID du vendeur, et le nombre et la taille des puces flash.

En prenant un ancien appareil avec une petite puce, en écrasant le micrologiciel avec un nombre erroné de puces flash, la capacité totale du disque sera plus grande que le nombre de flashs installés.

Comme le nombre de lignes d'adresse n'a pas changé, on pourra toujours écrire sur la puce. Par exemple, 128 Mo seront d'abord écrits, puis la puce suivante sera sélectionnée, puis 128 autres seront écrits.

Comme il n'y a qu'une seule puce, la ligne de sélection n'est pas connectée et les données de la deuxième puce flash écrasent celles de la première.

Étant donné que le contrôleur communique au système d'exploitation la taille de toutes les puces, y compris celles qui ne sont pas connectées, le système d'exploitation se contentera de les formater à la mauvaise taille.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X