Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Документация » Програмный ремонт жёстких дисков HDD |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 35 36 37 38 39 * 40 41 42 43 .. 75 76 77 78 79 80 | Печать |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 16 апреля 2018 10:42 Сообщение отредактировано: 16 апреля 2018 11:00
Отлично! KALDYH написал: Это непростая задача, в случае разбора множества однотипных прошивок можно подумать о некоем скрипте, но при первом разборе Пока основное затруднение - огромный объём монотонной ручной работы, которую хорошо бы автоматизировать, но я не знаю как. только интерактивно. К примеру возможна имитация декомпрессора (если есть), перемещения кода в ОЗУ и создания сегментов для него, разбор неких таблиц по фиксированным адресам (актуально например при разборе BIOS плат расширения). Может еще (неуверен) сигнатурный анализ, по характерной последовательности байт (но примеров таких скриптов не видел). Ну а так сам анализ интерактивный по определению, в этом и достоинство IDA в сравнении с другими дизассемблерами, которые пытаются сами интерпретировать код и спотыкаются в конце-концов. KALDYH написал: Под функцией понимается подпрограмма возвращающая значения в регистре, под процедурой нет? Дальше: по коду видно различие процедур и функций, в начале идут функции. Я просто привык к Си, где только функции, а термин процедура отсутствует (это просто функция, возвращающая void), ну а в ассемблере все это подпрограммы. upd. Я забыл спросить - WD ROYL, это уже цветная серия, GREEN/BLACK/BLUE ? Процессор там уже не Marwell? |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
К счастью, я анализирую микроконтроллер без сегментной организации, там обо всём что связано с сегментами можно забыть как страшный сон. Перемещение кода в ОЗУ на этом этапе не требуется - я работаю непосредственно с дампом адресного пространства. А вот работа с однотипными прошивками, я думаю потребуется. Попробую написать скрипт для автоматического поиска строк, автоматической подстановки меток и автоматического поиска цепочек подпрограмм, завершающихся call, jmp или rti. i8088 написал: Ну тут по сути тоже разделение чисто формальное. Я просто вижу, что подпрограммы в начале и конце заметно различаются по структуре, это должно что-то да значить. Под функцией понимается подпрограмма возвращающая значения в регистре, под процедурой нет? i8088 написал: Граница довольно размыта. Некоторые серии могли иметь как старую, так и новую наклейку, например Atlantis, Pinnacle, Kermit. Процессор там Marvell, отличия чисто программные и они не слишком велики. upd. Я забыл спросить - WD ROYL, это уже цветная серия, GREEN/BLACK/BLUE ? Процессор там уже не Marwell? |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
KALDYH написал: Да, это точно! Кстати вспомнилось, межсегментная передача управления в К счастью, я анализирую микроконтроллер без сегментной организации, там обо всём что связано с сегментами можно забыть как страшный сон. AWARD BIOS исскуственно усложнена, полагаю для усложнения реверсирования. KALDYH написал: Спасибо! А дл WD100BB-800BB старого поколения, с родным процессором WD, а также Граница довольно размыта. Некоторые серии могли иметь как старую, так и новую наклейку, например Atlantis, Pinnacle, Kermit. Процессор там Marvell, отличия чисто программные и они не слишком велики. родственных им Protege и Spartan из доступных средств только PC3000 или еще что есть? |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Для Caviar Cyl32 есть немного утилит от NazYura: http://nazyura.hardw.net/000006.htm Дома у меня ещё что-то было, поищу. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 16 апреля 2018 18:26 Сообщение отредактировано: 16 апреля 2018 21:14
Спасибо, посмотрю! Есть сложный случай с WD100 Protege, давно что-то я пытался сделать с ним безуспешно, уже подзабыл. Как дойдет очередь до него, попробую еще раз. Успешно сделал перенос G->P на еще одном черном WD двухголовочном, было 8 remap WDC WD800JD-60LUA0 WD-WMAMD3995947 FW 07.01D07 Unicorn Над диском издевались видимо по полной, много царапин на корпусе и Start_Stop_Count 7147; Power_On_Hours 49197 |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 апреля 2018 22:26 Сообщение отредактировано: 17 апреля 2018 22:35
Просматривая форумы, нашел упоминание, что у GALAXY вроде как появилась команда A>P для переноса дефектов из G в P. На недавно приобретенном GALAXY2D (250GB, PATA) есть один remap, решил проверить.
Осталось проверить, нужен ли пересчет транслятора/форматирование после этого, завтра поставлю на чтение всей поверхности. |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
i8088, благодарю за проверку! Команда добавлена в список. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Вчера перед сном ставил чтение (я специально не стирал поверхность перед этим), и у меня возникли вопросы. Я ожидал IDNF или UNC (UNC, если LBA номер учавствует в расчете ECC, как я встречал упоминание на форумах), по крайней мере до конца трека. Однако встретились два UNC (почему два?), примерно в месте предполагаемого дефекта, причем не подряд. Один номер LBA я запомнил, второй к сожалению забыл сохранить. UNC исправились после записи, новых remap-ов не появилось (Alt Defect List остался пустым). Появилось подозрение, что remap был ложный, из-за сбоев, а бед был софтовый, и исправился записью, а для реального добавления нового дефектного сектора нужно пересчитать транслятор и может быть отформатировать UA. У новых F3 для этого команда есть команда m с правильными ключами, но здесь вроде нет такого (?). Может-быть проанализировать логи тестов дефектоскопа заводского SS, и запустить предполагаемый тест(ы) где делается форматирование UA с пересчетом транслятора? Мне думается, у более ранних barracuda должна быть команда ручного занесения CHS дефекта в P-list (У U серии по моему есть), если есть то можно организовать такой перенос и в ранних Seagate Barracuda. Скриптовый язык ST_MEM для автоматизации такой операции ограничен, но вполне можно написать программу, которая будет делать это, главное команды раскопать. В отличие от WD, у Seagate после очистки (переноса) G-list, в SMART остается запись об этом remap, надо разобраться как очищать SMART remap-ы без сброса SMART (хочется сохранить счетчик времени работы и количество start/stop циклов). |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Берём доступную документацию и копаем... Я сейчас занят раскопками Conner-ов. Чёрт, оказывается 64 килобайта кода - это очень и очень много... Впрочем, подвижки есть, и весьма значительные. |
strelec
Newbie
Откуда: Кемерово Всего сообщений: 105 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 3 апр. 2018 |
При сливании через скрипт стмем дампа памяти (level 1,команда D) на адресе D1,EC00 произошла остановка двигателя hdd по непонятной причине(все тот же hilo).При повторном включении двигатель не запустился.ЖД издавал легкий гул. Вскрыл корпус(в максимально "чистой комнате" ).Головки залипли на поверхности.Аккуратно приподнимая головки и подкладывая под них тонкий пластик ,вывел их в зону парковки к центру диска.Собрал ,подключил.Диск прошел рекалибровку.Естественно ,параметры чтения резко ухудшились.Запись не особо.Повторил процедуру чтения памяти.И опять на том же адресе останов двигателя.Похоже,эту процедуру надо делать,предварительно остановив шпиндель. Поверхность без видимых повреждений(речь только о верхней пластине,другие сложно определить).Головки тоже.Т.к. плотность записи еще не столь высока (3гб/пластина) и полет головки измеряется не в нескольких нм над поверхностью ,а еще в мк,то винт поэтому и не умер сразу после таких экспериментов.И даже жив после второго залипания ))Естественно,частицы пыли теперь ушатают его через несколько часов) Фото головки: К головкам подходит четыре цветных провода (витая пара),чтение -запись.Их хорошо видно на фото. |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 35 36 37 38 39 * 40 41 42 43 .. 75 76 77 78 79 80 | Печать |
Полигон-2 » Документация » Програмный ремонт жёстких дисков HDD |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |