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


Je lisais à propos de lecteurs chinois magiques. Comment cela se ferait-il? Le post parle d'un «mode en boucle» et les commentaires suggèrent d'avoir un contrôleur différent pour le système d'exploitation.

Je suis allé acheter un de ces appareils, je l'ai essayé et cela a fonctionné comme prévu (en écrasant les données quand elles étaient pleines), bien que lorsque je l'ai formaté, il a commencé à montrer sa «vraie» capacité.

Comment est-ce atteint?


88
2018-04-13 05:23


origine


Discussion intéressante à ce sujet sur Hacker News - Ivo Flipse♦
Je pense que la question serait mieux intitulée "Comment la capacité de la mémoire flash est-elle faussée", car il s'agit en fait de simuler la quantité de stockage sur un lecteur flash, et non un disque dur magnétique. - Joseph Earl
Je veux une de ces commandes de magie chinoise, mais je ne vole pas en Chine pour en obtenir un! - Moab
+1. Je n'avais jamais entendu parler de cela avant de voir cette question "fusée au sommet des charts" dans la vue Hot Questions. - jprete
heh .. merci :) Je ne m'attendais pas à ce genre de réponse quand je me suis curieux à propos d'un "disque dur" avec 2 écrous géants dans le boîtier - Rohan Monga


Réponses:


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


59
2018-04-13 13:19



Oui, vous pouvez manipuler le FAT, mais il existe également des moyens de modifier le microcontrôleur pour qu’il mette fin au système d’exploitation. Windows formatera en effet à plusieurs reprises le disque en l’identifiant de manière incorrecte. Habituellement, ils ont une sorte d'algorithme intégré pour boucler la puce flash de telle manière que le système d'exploitation est capable de créer une table de base valide. - TheCompWiz
comme je commence à fouiller et à jouer avec la table principale et le contrôleur, je m'attends à plus de questions à suivre :) - Rohan Monga
Attention à savoir où trouver la table principale ou comment la modifier? - Ivo Flipse♦
J'adorerais voir de la documentation à ce sujet, j'ai essayé de la reproduire avec de la programmation et je n'ai pas réussi à tromper le système d'exploitation en lui imposant la taille. voir ce fil ici pour voir ce que j'ai essayé stackoverflow.com/questions/7482920/... - cromestant
J'ai eu un magazine utilisant Norton Commander et hexedit pour changer la taille de la partition rapportée. Dommage que j'ai perdu le magazine. - Barfieldmv


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

Vous pouvez être attrapé par ce type de flashdrive faux bon marché ou même des disques durs en Chine tout le temps si vous allez à un vendeur non réputé.


19
2018-04-13 13:20



L'année dernière, j'ai acheté une clé USB de 64 Go en Chine sur Ebay pour 15 £. J'aurais dû savoir que la capacité ne serait pas disponible pour le prix. En fait, il était 4Gb avec un faux "6" mordant sur l'étiquette. La façon dont le système de fichiers était brouillé signifiait que vous ne remarqueriez pas un problème jusqu'à ce que plus que 4Gb a été copié sur le périphérique. À ce stade, les nouveaux fichiers ont commencé à remplacer des parties existantes. Je n'ai jamais été capable de reformater la chose afin que je puisse au moins l'utiliser comme un bâton de 4 Go. - FumbleFingers
@FumbleFingers, Oui, il est fréquent que les vendeurs bousillent les informations de la puce, vous ne pouvez donc pas formater directement, mais vous devez le faire: 1. utiliser le logiciel ChipGenius + outil de production en série pour corriger les informations de la puce. 2. utiliser un outil de formatage de bas niveau pour exécuter le format réel. Voici un guide: agnipulse.com/2010/04/how-i-fixed-a-fake-64gb-usb-drive - KoKo
Merci! Après tout, je peux peut-être en tirer un peu de valeur (si je ne l’ai pas déjà jeté dans la poubelle par frustration). - FumbleFingers


Jusqu'à ce que je voie votre message, j'étais sûr que c'était un contrôleur différent - en utilisant un contrôleur modifié, vous pouvez dire tout ce que vous voulez au système d'exploitation. Mais étant donné que le format modifie ce comportement, cela signifie également qu'une sorte de supercherie a eu lieu au niveau du système de fichiers. 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 il dépend d'une modification du système de fichiers (qui me semble toujours plus probable).

  • Il existe un autre moyen de procéder sans modification matérielle, par ex. en modifiant la liste des liens de blocs libres pour qu’elle soit circulaire (je ne suis pas suffisamment au courant des spécificités de FAT32 pour décider si cela est possible - cela pourrait s’enregistrer quelques jours si personne ne le fait en premier…).

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 autorisant par inadvertance une telle ruse circulaire de gestion de l'espace libre est utilisé (tant que ce système de fichiers est également supporté par le système d'exploitation) être pratiquement invisible pour l'utilisateur). Cela rend la recherche d'un tel appareil beaucoup plus intéressante ...


6
2018-04-13 05:38



C'est un système de fichiers, j'en suis sûr. Ces lecteurs ne sont pas modifiés physiquement. - crasic
Je voudrais cependant acheter une chose plus petite .. à des fins de test :) - Greenleader
Si vous allez à l'effort d'utiliser un contrôleur personnalisé ou modifié, vous perdez les économies de prix de l'achat en gros de contrôleurs bon marché. Ainsi, il me semble beaucoup plus probable que cela soit fait uniquement au niveau du système de fichiers - une écriture brute avec dd est rapide, économique et facile par rapport au remplacement / modification du matériel. - kaerast


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

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

    mkdosfs -C  temp_file 1000000000
    
  2. Vérifiez que c'est vraiment arrivé

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

    mount
    
  4. Trouver le nom de l'appareil, quelque chose comme /dev/sdb1 (Si vous faites une erreur ici, vous pourriez détruire un autre disque connecté au système, alors faites attention!)

  5. Le démonter:

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

    ls -s temp_file
    

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

  1. Copier sur DoK

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

    mkdir test
    sudo mount temp_file test -o loop
    

6
2018-04-20 13:37





Assez facile,

Le contrôleur de puce flash contient certains paramètres. ID du produit, identifiant du fournisseur et nombre et taille des flashchips.

En prenant un ancien appareil avec une petite puce, en écrasant le micrologiciel avec un nombre incorrect de puces flash, la capacité totale du lecteur sera supérieure au nombre de flashs installés.

Comme le nombre de lignes d’adresse n’a pas changé, la puce sera toujours écrite. Par exemple, le premier 128 Mo sera écrit, la prochaine puce sera sélectionnée, puis 128 autres seront écrites.

Comme il n'y a qu'une seule puce, la ligne de sélection n'est pas connectée et la seconde donnée de la mémoire flash remplace les premières données de la puce.

Comme le contrôleur signale la taille de toutes les puces, y compris celles qui ne sont pas connectées au système d’exploitation, le système d’exploitation le formatera avec une taille incorrecte.


5
2018-04-14 07:03



Le problème est que si cela est fait de cette manière dans le matériel, des données plus récentes remplaceraient également la table d'allocation de fichiers FAT32 et le répertoire racine au début du lecteur, rendant ainsi le lecteur inutilisable jusqu'à ce qu'il soit reformaté. Le fait que cela ne se produise pas suggère que c'est un piratage de système de fichiers qui le fait fonctionner. - Mokubai♦
Génial comme ça, ça se ferait très vite. - Rohan Monga


Deux méthodes existent pour cela:

  1. Partition: existe plusieurs outils pour modifier et créer une partition manuellement. Par exemple, il est possible de sélectionner plusieurs cylindres disponibles. C'est trivial de faire ça. Ex. partition magique et je pense que même fdisk peut le faire

  2. Micrologiciel de l'appareil: L'autre méthode consiste à modifier le micrologiciel de l'appareil. La plupart des appareils (mais pas tous) ont leurs informations (Plug & Play et autres informations) contenues dans le micrologiciel.

Par exemple, une astuce habituelle consiste à utiliser un micrologiciel d'un disque dur de plus grande capacité dans un appareil de capacité moindre et à «augmenter» l'espace.


1
2018-04-13 17:39