Показать сообщение отдельно
Старый 28.08.2011, 18:21   #99
Ёжик Пых
Старожил Клуба
 
Аватар для Ёжик Пых
 
Имя: Дмитрий
Авто: PS 2.4D AT 17MY, i-Miev 12MY
Сообщений: 655
По умолчанию Re: Исследование механизма работы ПО MMCS

Цитата:
Сообщение от Mi81 Посмотреть сообщение
Выполним еще одну маленькую проверку. Поставим курсор на начало региона по смещению 0x00E96603 и выделим весь блок прошивки, которую этот регион попал. Для этого выполним Edit -> Define Block... В первое поле введем смещение начала блока 0x00E96603, а справа из выпадающего списка выберем Beginning of block. Во второе поле введем смещение конца блока, для чего к смещению начала добавим длину блока, полученную из заголовка блока: 0x00E96603 + 0x0003EFFC = 0x00ED55FF. Вводим это значение во второе поле, а справа, естетственно, выбираем End of block и нажимем OK (Рис. 6). Теперь расчитаем контрольную сумму этого блока: Tools -> Compute Hash... и в откывшемся диалоге выберем Checksum (32 bit) и получим результат 0188EB68, сверив его с третьим полем заголовка, убеждаемся, что она записана именно здесь.
Mi81, Спасибо за столь подробный ликбез, теперь отчет.

Дополнительных КС в Navi.exe похоже нет. В S001 Navi.exe исправил C.u.r.r.e.n.t на O.l.d.r.e.n.t, пересчитал СS32, залил на HDD, всё прекрасно запустилось, разницы в работе не заметил.

Решил пойти дальше и претворить Вашу идею по переносу в жизнь, но наталкнулся на несоответствия. Основа, LOADING.KWI N-04, выложенная Пушик'ом http://files.mail.ru/SNDUTA. Все смещения даю от полного LOADING.KWI не разделенного на части.
После римейкера получаю 4 региона S000-S003 и просто начинаю проверять в прошивке.
S000 | 7E2A6B-D1E286 - заголовок соответствует, CS32 совпала ;
S001 | D1EA83-E20616 - заголовок соответствует, CS32 совпала ;
S002 | EFA16F-EFC71D - заголовок отсутствует или не верный, длина 25AF, CS32 - 0011CE6F
S003 | EFC72B-E1638B - в заголовке неверно указана длинна (00019С64/ реальная 00019С61), CS32 по длине 00019С61 - верная.

Насколько я понял Вашу идею, я перекидываю из R03 регионы в N04, смещение оставляю на месте, исправляю длину и CS32, оставшееся место забиваю нулями. В этом раскладе не ясно, что делать с S002.
Особенностью S002 и S003 является то, что они идут друг за другом и видимо данные о CS и длине расположены немного по другому.

Прошу Ваших комментариев/правок/дополнений.
Ёжик Пых вне форума   Вверх Ответить с цитированием
Пользователь сказал cпасибо: