Программа для Проверки Карт Памяти
Предисловие
В последнее время Micro SD карты становятся всё более популярны. По этому поводу появляется всё больше продавцов, готовые на этой почве поживиться обманом и разными уловками на эту тему.Понадобилась мне как-то Micro SD карта ёмкостью 64ГБ для небольшого проекта на Raspberry Pi. Но когда я стал искать что-то подходящее на eBay, то с удивление обнаружил, что подавляющее число продавцов выставляют откровенные подделки. Даже на Амазоне ситуация была не очень привлекательна в этом плане. На картинке выше все карты являются подделками.
После этого я решил заказать несколько таких подделок и поделиться этим тут, что бы обезопасить остальных не только от потери денег, но и от потери данных. А ведь данные зачастую дороже.
Обещаю слайды.
Что это?
Для начала определюсь, что именно я считаю подделкой, так как подделки бывают разные.Два основных типа подделок карт памяти это:
- Подделка ёмкости
Это самый популярный способ встретить подделку. В этом случае карта работает на значительно гораздо меньшую ёмкость, чем обещается. Этот случай я буду тут рассматривать. - Подделка бренда-модели
Это намного реже встречается и подделка состоит в том, что бы подсунуть худшую карту под видом более дорогой. Это встречалось достаточно давно, когда ценовая разница в моделях была очень значительна.
Да, скоро будут слайды.
Как это?
Для начала надо понять каким образом можно подделать ёмкость.Грубо говоря, флеш карты состоят из двух основных компонентов — контроллер и сама флеш микросхема. За взаимодействие с хостом (компьютер, камера и т.п.) отвечает контроллер, который знает тип подсоединённой флеш микросхемы, скорость, протокол общения с хостом и прочую административную деятельность в обслуживании карты в целом.
Если, например, флеш микросхема имеет ёмкость 16ГБ, то контроллер об этом расскажет хосту. В этом случае хост будет знать, что больше 16ГБ записать нельзя и все будут счастливы.
Но если контроллер запрограммировать так, что бы он рассказывал другую ёмкость (например, 64ГБ), то хост будет думать, что это 64ГБ карта, хотя, количество данных, которые можно хранить на этой карте, будет так же 16ГБ.То есть, если карту вставить в компьютер или камеру, то они будут показывать, что эта карта 64ГБ, но все данные после записи 16ГБ будут полностью потеряны.
Из-за особенностей организации флеш микросхем при переполнении адреса доступа запись будет начинаться опять с начала и затирать старые данные. В этих случаях обычно контроллер программируют так, что бы запись не шла по кругу, а просто писала в пустоту. То есть, при чтении будут возвращаться нули или что-то другое однообразное вместо записанных данных.
Бывают такие подделки, где это не реализовано и карта становится полностью недоступной, так как там затирается какая-то служебная информация или происходят другие процессы такого плана. Впрочем, это более редкие случаи.
Да, обязательно будут слайды.
Типы карт
Для начала ещё немного теории про SD карты… Да, я помню, что обещал слайды, надо немного ещё потерпеть.Есть три основных стандарта SD карт:
- SD (или SDSC). Это карты ёмкостью до 4ГБ
- SDHC. Ёмкость от 4ГБ до 32ГБ включительно
- SDXC. У них ёмкость от 64ГБ до 2ТБ
Это нам очень поможет в определении подделок.
Есть ещё UHS-I, UHS-II, Class 10, Class 6, но это всё относится к скорости и в данном случае ни на что не влияет, так как мы это не рассматриваем.
Как проверить?
Так как контроллер говорит неверную ёмкость, то проверки типа «я посмотрел сколько гигабайт Windows показал доступными» работать не будут. Обычное форматирование тоже не поможет, так как это не проверяет ёмкость, а просто инициализирует файловую систему.Есть несколько способов определить подделку:
- Проверка на запись-чтение.
Самый надёжный способ определение подделки. Например, если карта смогла записать 64ГБ, а прочитала правильно чуть меньше 8ГБ, то это явная подделка. - Визуальная проверка.
Обычно подделки достаточно низкокачественны и поэтому их можно определить по многим визуальным признакам и несоответствиям.
Теперь подробнее про каждый способ.
Не надо паниковать, мы почти дошли до слайдов.
Способ «запись-чтение»
Для этого способа нужна совместимая читалка карт. Достаточно записать несколько больших файлов и попробовать прочитать с проверкой md5/sha хеша или просто какой-то другой контрольной суммы.Для упрощения процесса есть разные программы, которые могут это автоматизировать. Пожалуй, самая популярная это h2testw.
Например, так выглядит результат тестирования 64ГБ подделки, которая на самом деле оказалась 8ГБ картой:
h2testw работает под Windows.
Есть другие варианты. Например, консольная open source программа F3, которую можно собрать под Windows, Linux, Mac.
Или, например, FakeFlashTest (Windows), которая может сканировать быстрее, так как тестирует выборочно.
Визуальный способ
Программные способы точны, но неудобство в том, что нужно заплатить и получить эту карту. То есть, минимально будет потрачено время, а, возможно, и деньги.К счастью, подделки сейчас на таком уровне, что их достаточно легко определить по фотографиям товара от продавца.
Я специально заказал пару десятков разных карт именно для того, что бы подробнее изучить как они выглядят и как их можно легко определить.