Как подделывается емкость жесткого диска?

90

Я читал о волшебных китайских дисках . Как это будет сделано? В посте рассказывается о «зацикленном режиме», а в комментариях предлагается использовать другой контроллер для лжи ОС.

Я пошел и купил одно из этих устройств, попробовал его, и оно работало как реклама (перезаписывая данные, когда оно было заполнено), хотя, когда я отформатировал его, оно начало показывать его «истинную» емкость.

Как это достигается?

Рохан Монга
источник
14
Я думаю, что вопрос будет лучше озаглавлен «Как фальсифицируется емкость флеш-памяти», поскольку на самом деле речь идет о фальсификации объема памяти на флешке, а не на магнитном жестком диске.
Джозеф Эрл
Я хочу один из этих китайских волшебных драйвов, но я не собираюсь лететь в Китай, чтобы получить его!
Моав
+1. Я никогда не слышал об этом, пока не увидел этот вопрос «ракета на вершину чартов» в представлении «Горячие вопросы».
jprete
хех ... спасибо :) Я не ожидал такого ответа, когда мне стало любопытно узнать о "жестком диске" с двумя гигантскими гайками в этом деле
Рохан Монга

Ответы:

59

FAT32 имеет главную таблицу со свободным пространством. Вы можете закодировать эту основную таблицу, чтобы показать любое количество свободного места. У меня была дискета размером 3,7 ГБ целую вечность.

Barfieldmv
источник
4
Да, вы можете вмешиваться в FAT, но есть также способы повозиться с микроконтроллером, чтобы лгать ОС. Windows действительно будет неоднократно форматировать диск, неправильно идентифицируя его как гораздо больший, чем он есть на самом деле. Обычно у них есть какой-то встроенный алгоритм для зацикливания флеш-чипа таким образом, что ОС фактически может создать действительную (выглядящую) мастер-таблицу.
TheCompWiz
когда я начну ковыряться и связываться с главной таблицей и контроллером, я ожидаю, что за этим последуют другие вопросы :)
Рохан Монга
2
Хотите уточнить, где найти основную таблицу или как ее редактировать?
Иво Флипс
2
Я хотел бы увидеть некоторую документацию по этому вопросу, я попытался воспроизвести это с помощью программирования и не смог обмануть ОС, чтобы определить размер. увидеть эту тему здесь , чтобы посмотреть , что я пытался stackoverflow.com/questions/7482920/...
cromestant
У меня был журнал, использующий Norton Commander и hexedit для изменения размера раздела, о котором сообщалось. Жаль, что я потерял журнал.
Barfieldmv
19

Аппаратное обеспечение не изменяется - таблица файлов просто модифицируется, чтобы обмануть ОС. Во время форматирования файловая таблица стирается и, таким образом, восстанавливается подлинное считывание емкости.

Вы можете быть пойманы этим типом дешевого поддельного флэш-накопителя или даже жестких дисков в Китае все время, если вы идете к не заслуживающему доверия продавцу.

Koko
источник
11
В прошлом году я купил на Ebay предположительно 64-гигабайтную карту памяти из Китая за 15 фунтов стерлингов. Я должен был знать, что емкость не будет доступна по цене. Фактически это был 4Gb с фальшивой ведущей цифрой «6» на этикетке. То, как файловая система была зашифрована, означало, что вы не заметите проблему, пока на устройство не будет скопировано более 4 ГБ, после чего новые файлы просто начнут перезаписывать части существующих. Мне никогда не удавалось переформатировать эту вещь, чтобы я мог, по крайней мере, использовать ее как флешку 4Gb.
FumbleFingers
7
@FumbleFingers, Да, продавцы часто портят информацию о чипе, поэтому вы не можете форматировать напрямую, но вы должны сделать это: 1. используйте программное обеспечение ChipGenius + инструмент массового производства, чтобы исправить информацию о чипе. 2. используйте инструмент низкоуровневого форматирования для выполнения фактического формата. Вот руководство: agnipulse.com/2010/04/how-i-fixed-a-fake-64gb-usb-drive
коко
Спасибо! Может быть, я все-таки смогу извлечь из этого хоть какую-то ценность (если я еще не расстроил его в мусорном ведре).
FumbleFingers
6

Пока я не увидел ваше сообщение, я был уверен, что это был другой контроллер - используя модифицированный контроллер, вы можете сказать что угодно ОС. Но, учитывая, что формат изменяет это поведение, это означает, что на уровне файловой системы также произошел некоторый обман. Это поднимает два варианта:

  • Это модификация контроллера, которая просто не работает после форматирования, потому что это зависит от модификации файловой системы (которая все еще кажется мне более вероятной).

  • Есть другой способ сделать это без модификации оборудования, например, путем изменения связанного списка свободных блоков, чтобы он был циклическим (я не достаточно знаком со спецификой FAT32, чтобы решить, возможно ли это - может проверить через несколько дней, если никто не будет остальное делает первым ...).

РЕДАКТИРОВАТЬ: Наивно предполагать, что используется FAT32, гораздо более вероятный сценарий состоит в том, что используется другая файловая система, которая непреднамеренно допускает такой круговой обман управления свободным пространством (если эта файловая система также поддерживается ОС - это будет быть практически невидимым для пользователя). Это делает просмотр такого устройства гораздо интереснее ...

Офир
источник
2
Это вещь файловой системы, я в этом уверен. Эти диски не изменены физически.
авария
4
однако я бы купил такую ​​маленькую вещь .. для целей тестирования :)
Greenleader
1
Если вы собираетесь использовать нестандартный или модифицированный контроллер, то вы потеряете экономию при массовых покупках дешевых контроллеров. Таким образом, мне кажется гораздо более вероятным, что это делается исключительно на уровне файловой системы - простая запись с использованием dd является быстрой, дешевой и простой по сравнению с заменой / модификацией оборудования.
WheresAlice
6

Вот как вы создаете диск размером 1 000 000 000 000 байт (1 ТБ) на ключе (используя Linux):

  1. Создать поддельный отформатированный диск объемом 1 ТБ:

    mkdosfs -C  temp_file 1000000000
    
  2. Проверьте, что это действительно произошло

    ls -lh temp_file
    
  3. Подключите свой DoK и проверьте, как он был смонтирован:

    mount
    
  4. Найдите имя устройства, что-то вроде /dev/sdb1 (Если вы допустите ошибку здесь, вы можете испортить другой диск, подключенный к системе, так что будьте осторожны!)

  5. Размонтировать его:

    sudo umount /dev/sdb1
    
  6. Узнайте размер нашей таблицы FAT:

    ls -s temp_file
    

(Первое число - размер в килобайтах)

  1. Скопируйте в DoK

    echo "head -c [size_from_above]K temp_file > /dev/sdb1" | sudo sh
    
  2. Не пугай своего друга! Ты можешь смонтировать его локально, чтобы поиграть вот так:

    mkdir test
    sudo mount temp_file test -o loop
    
Борис
источник
5

Достаточно просто,

Контроллер флеш-чипа содержит некоторые настройки. Идентификатор продукта, идентификатор поставщика, количество и размер флеш-чипов.

Если взять старое устройство с маленьким чипом, перезаписать прошивку с неправильным количеством флеш-чипов, общая емкость накопителя будет больше, чем количество установленных флеш-накопителей.

Поскольку количество строк адреса не изменилось, чип всегда будет записан. Например, будут записаны первые 128 МБ, затем будет выбрана следующая микросхема, а затем будут записаны еще 128.

Поскольку имеется только одна микросхема, строка выбора не подключена, а данные второго флеш-чипа перезаписывают данные первой фишки.

Поскольку контроллер сообщает размер всех чипов, включая неподключенные к ОС, ОС с радостью отформатирует неправильный размер.

Progger
источник
3
Проблема здесь заключается в том, что, если это будет сделано таким образом в аппаратном обеспечении, более новые данные также перезапишут таблицу размещения файлов FAT32 и корневой каталог в начале диска, что сделает диск непригодным для использования до его переформатирования. Тот факт, что этого не происходит, говорит о том, что это взлом файловой системы, который заставляет его работать.
Мокубай
да, как бы гениально это ни было, это очень быстро поймают.
Рохан Монга
1

Для этого существует два метода:

  1. Раздел: существует несколько инструментов для изменения и создания раздела вручную. Например, можно выбрать больше цилиндров, чем реально доступно. Это тривиально, чтобы сделать это. Ex. раздел магии, и я думаю, что даже fdisk может сделать это

  2. Прошивка устройства: Другой способ - изменить прошивку устройства. Большинство устройств (но не все) имеют свою информацию (Plug & Play и другую информацию), содержащуюся в прошивке.

Например, обычная хитрость - использовать встроенное ПО жесткого диска большей емкости в устройстве меньшей емкости и «увеличить» пространство.

Магеллана
источник