Как поменять прошивку жесткого диска. Проблемы с микрокодом на винчестерах Western Digital. Расширяем стандартные возможности жесткого диска - «Хакер»

Конвертер

Конвертер можно купить (в продаже есть USB-TTL и COM-TTL) или сделать самому (привожу несколько схем ниже).

Для тех, у кого есть Arduino: соединяем GND и RESET , используем контакты RX и TX .

Для проверки схемы можно замкнуть RX и TX , - в результате все, что мы введем, должно вернуться.

Подключение

Подключаем RX и TX , как на рисунке ниже, отключаем SATA-кабель, подключаем питание.

Для работы с COM-портом я использовал PuTTY , с задачей также отлично справится ваша любимая программа. Итак, открываем PuTTY, выбираем тип подключения Serial , вводим порт и остальные настройки:

Speed 38400
Data Bits 8
Stop Bits 1
Parity None
Flow Control None
Открываем окно терминала, нажимаем Ctrl+Z и видим приглашение:
F3 T>
Чтобы увидеть список команд и описание к ним для вашего жесткого диска, необходимо ввести /C , а затем Q .

Восстановление

Пришло время приступить к восстановлению.

Важно : соблюдайте регистр при вводе команд!

  1. Перейдем на уровень 1, введя /1
  2. Очистим S.M.A.R.T. командой N1
  3. Выключаем питанием и ждем, когда остановится двигатель (~10 сек)
  4. Включаем питание и снова нажимаем Ctrl+Z
  5. Очищаем список bad-блоков: вводим i4,1,22
  6. Повторяем пункты 3-4
  7. Вводим в консоли: m0,2,2,0,0,0,0,22 (для жестких дисков «Made in China» - m0,2,2,22 )
  8. Переходим на уровень 2: /2
  9. Останавливаем двигатель: вводим Z
  10. Выключаем питание
После всех манипуляций жесткий диск стал определяться в BIOS. Чтобы не столкнуться с проблемой снова, обновите ПО у винчестера. Эта процедура совсем проста: с сайта производителя скачивается загрузочный образ, который записывается на болванку. Далее - загрузка и обновление прошивки в пошаговом режиме, просто следуйте инструкциям на экране.

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

О том, что осталось за кадром

Поскольку эта статья - результат собственных экспериментов, основаных на различных материалах по восстановлению HDD, далее я опишу те проблемы, с которыми столкнулся сам.
Проблема Решение
Шум в консоли Подключите контакт GND к «земле» на блоке питания. Я использовал провод от клавиши включения. Также вытяните джампер SATA I из жесткого диска.
На экране после нажатия Ctrl+Z ничего не появляется Скорее всего, неправильно подключены RX и TX .
При первом включении появляется ошибка LED:000000CC FAddr:0025BF67 или LED:000000CC FAddr:0024A7E5 Сначала попробуем отключить головки. Для этого откручиваем плату (заодно можно и почистить контакты ластиком: у меня там было очень много грязи), подкладываем изолятор (бумага, изолента и т.д.) на контакты, ведущие к головкам, и обратно прикручиваем плату (не всеми винтами, а так, чтобы было питание на мотор). Включаем питание, нажимаем Ctrl+Z , вводим /2 , потом Z . Ждем сообщение об успешной остановке. Spin Down Complete Elapsed Time 0.138 msecs Не отключая питания, откручиваем плату, достаем наш изолятор и прикручиваем обратно плату, вводим команду запуска двигателя: U .

Если не помог метод отключения головок, нужно замкнуть контакты на плате острым пинцетом или тонким проводком. На фото (доступны по ссылкам ниже) показаны точки замыкания на разных жестких дисках.

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

WARNING

Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.

Электроника HDD

Конструкция винчестера в какой-то степени наверняка известна каждому. По сути, это несколько пластин, которые вращаются со скоростью 15 000 об/мин, устройство позиционирования и блок управляющей электроники. Добавим к этому систему самоконтроля S.M.A.R.T. и другие интеллектуальные атрибуты. Короче, без пол-литра не разберешься, тем более технология отдельных элементов составляет коммерческую тайну.

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

INFO

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

Пациент

Итак, перед нами плата типичного жесткого диска Western Digital WD5000AAKX объемом в 500 Гб (рис. 1). Что мы имеем:

  1. Микросхема DRAM. Интереса как такового не представляет, мануал легко можно найти в Сети. Память этих чипов колеблется от 8 до 64 Мб и соответствуют размеру кеша жесткого диска.
  2. Контроллер двигателя шпинделя. Отвечает за управление механикой, регулирует мощность и имеет некоторые аналоговые/цифровые каналы. На чип Smooth L7251 3.1 мануалы отсутствуют, но можно попробовать поискать похожие микросхемы.
  3. Флеш-память. На некоторых винчестерах микросхема отсутствует, но флеш-память бывает встроена в чип контроллера диска. Обычно имеет размер в пределах от 64 до 256 Кб. Используется для хранения программы, от которой загружается контроллер жесткого диска.
  4. И самая любопытная для нас вещь - контроллер жесткого диска. Их производят компании Marvell, ST, LSI и другие. Некоторые компании, производящие винчестеры, делают свои собственные контроллеры, как, например, Samsung и Western Digital.

Контроллер жесткого диска предназначен для управления операциями преобразования и обмена данными от головок чтения/записи к интерфейсу накопителя. К сожалению, компания Marvell не хочет выкладывать документацию на свою продукцию в открытый доступ. Ну что ж, попробуем разобраться сами.

Копнем глубже

Наш зарубежный коллега Джероен «Sprite_tm» Домбург нашел интересный выход из данной ситуации - для исследования контроллера он использовал интерфейс JTAG (от англ. Joint Test Action Group). Этот интерфейс предназначен для тестирования и отладки печатных плат. То есть с помощью JTAG мы можем спокойно подключиться к интересующему нас устройству, поддерживающему стандарт IEEE 1149. В микросхему интегрируется порт тестирования (TAP - Test Access Port), состоящий из четырех или пяти выводов: TDI, TDO, TMS, TCK и, возможно, TRST. Расположение этих выводов для контроллера Marvell нашел некий dex , любезно поделившийся результатами на форуме HDDGURU .

Джероен выяснил, что у контроллеров Western Digital есть ARM-ядро, доступное через JTAG-порт. А также последовательный порт, который обычно не используется, но может быть полезен для наших целей.

Для исследования контроллера жесткого диска использовалась плата FT2232H, которую можно заказать в интернете за 30 евро. Она поддерживает JTAG, связь через последовательный порт, а также SPI. Для работы с ней использовалась программа OpenOCD .

В результате оказалось, что у микросхемы есть целых три ядра. Два Feroceon, которые являются довольно сильными ARM9-подобными ядрами, и Cortex-M3, которое немного слабее. У всех ядер разное предназначение:

  • Feroceon 1 обрабатывает физические чтение/запись на жесткий диск;
  • Feroceon 2 -обрабатывает SATA-интерфейс, кеш и преобразует LBA в CHS;
  • Cortex-M3 - предназначение неизвестно. Можно просто остановить его, но жесткий диск будет продолжать работать.

Добро пожаловать, или Посторонним вход воспрещен

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

Для доступа к ядру можно использовать режим DMA (Direct Memory Access). Это такой режим, когда обмен данных происходит непосредственно с головки считывания в память, без активного участия процессора. То же самое относится и к SATA-порту: процессору нужно только указать, где данные, и логика DMA позаботится о чтении информации непосредственно из памяти.

Источником информации в этом случае послужит кеш-память винчестера из-за ее хорошего расположения: данные, считанные с диска, будут в кеше, так что их можно будет сразу оттуда скопировать.

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

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

В результате своего исследования Джероен создал инструмент fwtool, который может сбрасывать различные блоки во флеше и переводить код в текстовый файл. Затем можно изменить, удалить или добавить блок и вновь собрать все в одном файле прошивки, который потом спокойно загрузить во флеш.

Меняем прошивку

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

У компании Western Digital есть специальные программные утилиты для работы с жестким диском - это инструменты, работающие под DOS, которые могут загрузить новую прошивку контроллера, микросхемы флеш-памяти или сервисного раздела. Инструменты используют так называемые Vendor Specific Commands (VSC), впрочем, об этом чуть позже.

Также есть набор инструментов под названием idle3-tools , которые можно взять на вооружение для модификации прошивки жесткого диска. Он также использует VSC, применяя Linux SCSI PassThrough IOCTLs. Джероен взял этот код, изменил его и интегрировал в fwtool. После этой модификации fwtool научился читать и писать на микросхему флеш-памяти.

Теперь если хакер каким-то образом сможет воспользоваться fwtool на удаленной машине, то получит возможность сбросить флеш-память диска, изменить ее и «зашить» обратно. Правда, в конце концов владелец узнает о взломе и, вероятно, переустановит систему, но злоумышленник может внедрить что-нибудь, что проявит себя и после переустановки. Например, подождать, пока машина зачитывает из файла /etc/shadow/ , где хранятся все пароли в системах UNIX/Linux, и изменить содержимое. После чего можно будет просто войти под своим паролем.

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

INFO

Терминальный режим жесткого диска

При работе в терминальном режиме пользователь может взаимодействовать с жестким диском посредством диагностических команд. Этот метод применяется для диагностики и ремонта накопителей Seagate и Toshiba, в Western Digital такая возможность отсутствует из-за сложности подключения. Терминальный режим фактически предоставляет полный root - управление механикой и логикой устройства. С его помощью можно также обновить или перезагрузить прошивку винчестера. Список команд для большинства накопителей можно посмотреть в интернете. А на плате жесткого диска имеется специальный разъем для подключения через последовательный порт.


Для доступа в терминальный режим понадобится устройство-адаптер, необходимое для преобразования уровней сигналов RS-232 в уровни TTL (такие адаптеры имеются в продаже, но можно собрать и самому - все необходимые схемы находятся в свободном доступе, а в качестве основы можно взять некоторые модели Arduino). Мы же возьмем готовый чип FTDI, который преобразует USB в последовательный интерфейс для микроконтроллера Atmega. Нужно соединить GND и RESET, а для подключения использовать контакты RX и TX.


Для работы с COM-портом используем любую понравившуюся программу - например, PuTTY или Hiperterminal. Выбираем тип подключения, вводим номер COM-порта и другие настройки:

Speed: 9600 Data Bits: 8 Stop Bits: 1 Parity: None Flow Control: None

Для проверки работоспособности схемы нужно замкнуть RX и TX между собой. В результате все набираемые символы отобразятся в двойном количестве. Это происходит из-за того, что введенные данные будут передаваться по линии TX, а затем они же вернутся по линии RX. Делается это так: отключив SATA-кабель, соединяем выход TX диска с входом RX адаптера, и наоборот - RX адаптера с TX диска. Подключаем питание. После нажатия клавиш , получаем приглашение Т> (или F> для неисправных HDD) и вводим команды. Для получения списка команд вводим /C , а затем Q.

Из-за большого количества команд инженеры Seagate разделили их структуру на уровни. Такие команды, как чтение, запись, поиск, лог ошибок, доступны сразу на нескольких различных уровнях. Чтобы переключить жесткий диск для работы на другом уровне, надо воспользоваться командой /x .

Уровень Т - сертификационные испытания. Уровень 1 - команды управления памятью. Уровень 2 - команды настройки механики привода. Уровень 3 - поисковые команды. Уровень 4 - команды слежения серводвигателя. Уровень 5 - используется только в заводских условиях. Уровень 6 - адаптивные команды управления. Уровень 8 - специальные команды настройки записи. Уровень 9 - команды режима системы контроля дефектов.

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

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

Запись информации в сервисные разделы HDD

В любом жестком диске присутствуют сервисные разделы. Они предназначены для хранения служебных программ винчестера, таких как S.M.A.R.T., модули раннего обнаружения ошибок, модули самодиагностики и так далее. К счастью, все эти данные не занимают выделенное место полностью, а значит, при правильном подходе мы можем использовать это бонусное пространство. Сервисные разделы не следует путать с DCO или HPA, которые могут быть легко обнаружены и доступны через стандартные ATA-команды.

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

Для доступа к информации из сервисных разделов не подойдут стандартные ATA-команды, вместо этого для записи и чтения используются специальные команды VSC (Vendor Specific Commands). Как правило, производители держат в секрете эти команды, но порой выпускают утилиты для работы с сервисными разделами - например, программа wdidle3.exe от компании Western Digital и ее опенсорсный аналог idle3-tools. Еще один пример для WD - программа HDDHackr, меняющая записи в системных разделах HD.

WARNING

Данные в сервисных разделах очень важны для правильной работы винчестера. Повреждение записанной информации ведет к потере работоспособности диска. Восстановить ее будет не так уж и просто - для перезаписи данных в сервисных разделах понадобятся специализированные программы (например, Ace Laboratory PC3000).

Объем сервисного раздела зависит от модели винчестера. Например, в диске WD2500KS-00MJB0 семейства Hawk объемом 250 Гб (прошивка 02AEC) в сервисный раздел записывается две копии файлов, около 6 Мб каждая. Размер зоны на каждой поверхности составляет около 23 Mб (64 трека по 720 секторов на каждом). Поскольку этот диск имеет шесть поверхностей (головки от 0 до 5), модули сервисных разделов располагаются на месте, сопоставленном с головками 0 и 1, а место, закрепленное за головками со 2 по 5, зарезервировано, но не используется. Таким образом, зарезервированный раздел занимает около 141 Мб, из которых 12 Мб находится в использовании.

Для сравнения: модель WD10EACS-00ZJB0, емкостью в терабайт и с восемью поверхностями, имеет зарезервированное пространство 450 Мб, из которых занято 52 Мб. Ариэль Беркман (Ariel Berkman) из компании Recover Information Technologies LTD написал статью о работе с сервисными отделами HDD, а также выложил PoC-код для записи 94 Мб информации в сервисный отдел диска Western Digital 250GB Hawk. Делается это следующим образом:

  • Узнаем свой SATA IO адрес, используя lspci -v .
  • Для компиляции используем команду gcc -Wall -O -g -o SA-cover-poc SA-cover-poc.c .
  • Создаем рандомный файл (94 Мб в размере) и вычисляем его MD5-хеш.
  • Записываем файл в сервисный раздел.
  • Очищаем винчестер с помощью команды dd-ing /dev/zero , которую следует распространить на весь жесткий диск (или на отдельную часть, предварительно заблокировав доступ к остальному). Достаточно один раз прогнать этот код, чтобы уничтожить данные безвозвратно.
  • Читаем содержимое сервисного раздела, вычисляем его хеш и убеждаемся в целостности данных. root@Shafan1:~/SA# dd if=/dev/urandom count=184320 > random-file ; md5sum random-file root@Shafan1:~/SA# ./SA-cover-poc -p 0x0170 -w ./random-file root@Shafan1:~# dd if=/dev/zero of=/dev/sdb bs=1M root@Shafan1:~/SA# ./SA-cover-poc -p 0x0170 -r after-dding-dev-zero root@Shafan1:~/SA# md5sum after-dding-dev-zero

Программы для восстановления HDD

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

  1. TestDisk - самая простая и эффективная программа для восстановления HDD. Предназначена для поиска и реконструкции потерянных разделов, загрузочного сектора, удаленных файлов; исправляет таблицу разделов. Работает с большим количеством файловых систем. Работает в консольном режиме, чем достигается высокая скорость.
  2. Acronis Disk Director - целый программный пакет, в который включено немалое количество инструментов для работы с HDD. Содержит в себе утилиту Acronis Recovery Expert, которая служит для реконструкции файлов и разделов. В отличие от предыдущей программы имеет графический интерфейс, но работает с меньшим количеством файловых систем.
  3. Paragon Partition Manager - бесплатная программа от отечественных разработчиков, умеет почти все то же самое, что и Acronis, но ужасно медленная.

Заключение

Однако настало время закругляться. В этой статье я попытался показать неизведанные уголки и возможности жесткого диска. Не углубляясь в код, мы рассмотрели способ слива информации с накопителя. Если даже слегка приподнять этот занавес, открывается огромное поле для полета фантазии. Можно, например, перепрошить контроллер, чтобы скрыть от посторонних глаз особо важный раздел. Или портить данные при попытке клонировать жесткий диск, обезопасив себя таким образом от криминалистических утилит. Одним словом, вариантов много, так что каким образом использовать жесткий диск - выбор за тобой.

Винчестеры Seagate серии Barracuda ES.2 были очень популярны в 2008-2009 годах. К сожалению, все эти жесткие диски не могут похвастаться высокой надежностью. Причина - низкое качество накопителей, из-за некачественной сборки и дешёвых материалов (производитель экономил на всем во время мирового кризиса). Отказ невозможно спрогнозировать, так как причиной отказа, как правило, является ошибка микропрограммы (Firmware).

Симптомы у дефектных жестких дисков могут быть самыми различными, обычно компьютер может вдруг начать "тормозить", зависать, и после перезагрузки винчестер уже не определяется системой, иногда диск очень быстро начинает покрываться плохими секторами и S.M.A.R.T. жесткого диска отмечает их как Reallocated (перемещённые) сектора. Последняя ситуация показана на скриншоте после данного абзаца. Это следствие саморазрушения микрокода винчестера. То,что жесткий диск блокируется при этом - лишь следствие. Но лучше иметь заблокированный диск с исправными головками, информацию с которого восстановить еще возможно, чем незаблокированный, но с запилами, и не восстановимый ни за какие деньги. Прошивка повлечет лишь дополнитель ные трудности, если накопитель снова испортится.

Итак, что мы имеем на сегодняшний день? Прошивки которые подвержены этой проблеме: SN04, SN05 и более ранние. Жесткие диски SEAGATE производства Thailand или China. Жесткие диски NS серии: ST31000340NS, ST3750330NS, ST3500320NS, ST3250310NS. Cимптомы: не определяется в Bios или моментально появившиеся тысячи Realloceted Sectors (переназначенных секторов).

Если при включении винт издает негромкий "звук удушения" или ритмично "подергивается", то дальнейшая инструкция вам не поможет. Данная неисправность - ни что иное, как заклинивший вал шпиндельного двигателя. Возникает самопроизвольно или после падения HDD (достаточно совсем небольшого удара). Виноват в этом неудачно спроектированный гидроподшипник и низко-качественные дешевые материалы.

Для начала нам необходимо обзавестись адаптером RS232-to-TTL. Можно cобрать переходник на базе микросхемы MAX232 как показано на схеме:

Примечание к схеме: Если есть возможность подключиться к стабилизированному напряжению +5В, то схему можно упростить, выкинув из нее стабилизатор 7805 с двумя конденсаторами обвязки.

Альтернативная схема адаптера RS232-to-TTL:

Я бы ещё после этого сделал бы (стирание) всего жесткого диска через Victoria, SeaTools или MHDD. Потом сделал бы Scan + Remap (проверку со включенным Remap) для надёжности.

Сегодня мы рассмотрим:

Не многие знают этого, однако обычные жесткие диски на 2.5» можно переделать под работу с консолью Xbox 360. Конечно, этот процесс имеет большую кучу нюансов и требует особой внимательности от человека, который этим решил заняться. Однако мы вас уверяем, что взяв на вооружение этот материал, вы со 100% шансом сможете прошить жесткий диск для работы с Xbox 360. Приступим!

Перед тем, как начать

Первым делом, нужно правильно выбрать жесткий диск, так как не все HDD подходят для работы с приставкой Xbox 360.

Во-первых, это обязательно должен быть один из этих носителей марки WD:

С жесткими дисками других разработчиков проделывать этот трюк мы не рекомендуем, так как вы просто можете испортить HDD.

Во-вторых, используйте жесткий диск с объемом памяти до 320 Гб. Эта цифра является ограничением прошивки консоли. Конечно, можете использовать накопитель большого объема, но прошить его на 320 Гб. Вот только это будет не целесообразно в финансовом плане: зачем покупать больше, если будете использовать меньше?

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

Шаг 1. Подготовительный этап


Собственно, в конце у вас должен получиться такой набор файлов на флешке:

Шаг 2. Приступаем к прошивке жесткого диска

Шаг 3. Работаем с Xbox 360

Собственно, прошивка жесткого диска выполнена и при правильном проведении выше описанных действий вы можете спокойно пользоваться этим HDD на своем «боксе».

Готово. Прошивка жесткого диска выполнена, а консоль работает. Мы сделали наше дело и теперь можем пользоваться новеньким HDD в Xbox360.

Как правильно прошить или HDD WD — простая инструкция

Как прошить HDD WD?

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

Так как прошить HDD WD?

С целью получить доступ к ядру, мы можем задействовать режим, когда обмен данными между устройством и основной памятью происходит без участия ЦПУ (Direct Memory Access) – это будет необходимо для того, чтобы перепрошить HDD WD. Местом, где хранятся служебные данные, в данном случае будет кэш жёсткого диска из-за возможности скоростного доступа – прочитанная с HDD информации будет там, поэтому к ней возможно будет получить незамедлительный доступ, а потом скопировать её.

Но метод непростой – не особо комфортно постоянно “коннектиться” с помощью JTAG и что-то искать в кэше. Для упрощения процесса без использования дополнительных устройств существует возможность изменить прошивку в микросхеме флэш-памяти путём пайки и подключения программатора. К счастью, есть более простой способ.

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

Меняем прошивку HDD WD?

Вышеописанные методы не являются простыми и требуют произвести множество телодвижений. По этой причине хочется найти более доступный способ перепрошивки жёсткого диска WD, без механического вмешательства. Для HDD от Western Digital имеются программные пакеты для решения подобных задач – они работают из командной строки и с помощью них можно перепрошить контроллер или редактировать ячейки во флэш-памяти. Ещё есть комплект утилит, который называется idle3-tools, с помощью которого модифицируется flash HDD, весь этот функционал доступен теперь и в fwtool, благодаря нему есть возможность переписывать данные на микросхеме флэш- памяти.

Воспользовавшись утилитой fwtool, можно редактировать флэш-память винчестера, а вовремя считав информацию оттуда – есть шанс получить данные учётных записей, если к примеру машина находится под управлением Linux/Unix. Описанный способ можно использовать и в целях защиты от подобного варианта взлома – для этого нужно будет создать не клонируемый раздел HDD c случайным шаблоном доступа секторов. В случае исключительно последовательной работы при попытке доступа данные будут повреждены. Для взаимодействия с накопителем с помощью команд диагностики, необходимо переключиться в режим терминала. Данный режим создан с целью предупреждения неисправностей и их исправления в винчестерах разных производителей, а вот в WD подобного режима нет.

Работа с сервисным разделом HDD

Во всех винчестерах имеются сервисные разделы. Там хранятся служебные программы (например, утилита SMART и другие диагностические утилиты), они занимают далеко не всё пространство, в нашем распоряжении остаётся некоторая часть.

Сервисный раздел – самое надёжное место для хранения конфиденциальной информации, к ней едва ли смогут получить доступ сотрудники правоохранительных органов, так что здесь можно хранить текстовые документы с логинами и паролями от всего. Для получения доступа к этому потайному хранилищу в HDD Western Digital можно использовать утилиту wdidle3.exe или альтернативную свободно распространяемую idle3-tool.exe. Также есть программный пакет HDDHackr для редактирования записей в таких разделах. ПРЕДУПРЕЖДЕНИЕ! Информация, которая присутствует на сервисном разделе, необходима для нормального функционирования жёсткого диска. Уничтожив или повредив важные данные, вы рискуете вывести ваш накопитель из строя, а процесс восстановления получается не из простых – в нём задействуется утилита Ace Laboratory PC3000. Размер сервисного раздела у различных моделей HDD отличается, нужно иметь это в виду.