Подробности по прошивке R64rusВ этой прошивке появился файл bootinit.exe. Файл считывает код IMEI. По специальному алгоритму на основе IMEI ваш аппарат относят к одной из групп (0, 1, 2, 3). Мой был отнесен к группе 2, при этом программа останавливала загрузку аппарата.
Самым простым решение проблемы с загрузкой КПК с прошивкой R64rus стало переименование файла bootinit.exe в bootinit.ex_. Новая прошивка без проблем устанавливается на аппарат с любым IMEI (прошивку можно взять по ссылкам: _
http://slil.ru/23171354, _
http://rapidshare.de/files/34568709/ginnie.zip.html).После создания работоспособной прошивки я решил изучить bootinit.exe. Очень хорошим подспорьем в изучении стала IDA Pro 5.0, которая позволяет отлаживать код прямо на КПК, поэтому можно легко получить значения регистров, флаги и т.п.
В ходе исследования я обнаружил разделение КПК на группы в зависимости от IMEA. Решил проверить, что будет, если мой аппарат из группы 2 "перейдет" в группу 0. При помощи HEX-редактора изменил значение в операторе сравнения, скопировал модифицированный файл на КПК (с другим именем), запустил... Тут меня поджидал
большой сюрприз: код не запускался, т.к. все файлы для КПК имеют цифровую подпись, защищающую их от модификации.
Added @ 28.09.2006, 22:39
Запуск модифицированного exe-файла на WM5Для того, чтобы запустить модифицированный exe-файл на КПК необходимо в него добавить новую цифровую подпись. Здесь на на помощь приходит программа SignCode (файл SignCode.zip прикреплен к сообщению). Для добавления подписи распаковываем SignCode.zip в папку SignCode. В эту-же папку копируем модифицированный exe. Выполняем "sign.bat bootinit.exe", в результате чего получаем заново подписанный bootinit.exe. Копируем его на КПК запускаем - все нормально (за исключением сообщения о неизвестном издателе программы, оно появляется из-за отсутствия сертификата, который мы использовали для подписи в хранилище доверенных сертификатов на КПК).
К сожалению, модифицированный bootinit.exe из-за отсутствия сертификата в прошивке не запустится при установке прошивки. Существует два пути решения этой проблемы: добавление сертификата в прошивку и отключение сообщения о неизвестном сертификате при запуске программы.
Прикрепленные файлы
SignCode.zip ( 45.2 КБ )