Как вырезать из дампа прошивку и т.п.
Берем любой HEX-редактор, например,
WinHex 11.6 SR-2
Открываем им дамп (файл dump.txt) и... Вот тут нам нужно знать, что у
нас за прошивка, какой ее оригинальный размер, а если она патчена
чем-нибудь вроде SBRM, или ResMan-ом, то получившийся после такого патча
размер.
Для примера рассмотрим чистую прошивку X100XEDC2, размер которой 11 532
140 bytes (т.е. последний байт имеет адрес 00AFF76B - DEC (11 532 140
-1) -> HEX).
Файл dump.txt имеет размер (всегда) 16 777 216 bytes, т.е. 00FFFFFF.
Итак, его открываем WinHex'ом, выделяем самый первый байт 00000000, жмем
Alt+1, жмем кнопку
рис. и вводим адрес
00AFF76B (ниже должен быть выделен пункт beginning of file) и ОК. Таким
образом перешли на конец нашей прошивки и жмем Alt+2 для конца
выделенного блока. Далее в меню Edit -> Copy Block -> Into New File (Ctrl+Shift+N)
и пишем понравившееся имя файла со слитой прошивкой, например,
flash_dmp.bin. Размер этого файла будет составлять ровно 11 532
140 bytes, как доктор прописал. Это и есть наша прошивка.
В некоторых случаях может потребоваться лишь часть прошивки, например,
если патч работает только в ее начале, тогда можно вырезать первые
00xxFFFF байт в зависимости от того, в каком месте патч внес свои
последние изменения.
Посмотреть это можно в том же WinHex'e (меню File Manager -> Compare).
Тогда после Alt+1 переходим по адресу 000FFFFF и жмем Alt+2 -
скопировали первый мегабайт пропатченной прошивки, который теперь можно
по-быстрому залить флэшером в телефон.
Иногда, если не догадаться перед снятием дампа удалить файл dump.txt, то
после снятия этот файл будет весить далеко не 16 мегабайт - это из-за
того, что новый дамп дописался в конец старого. Тут таким же образом
берем и вырезаем его. Начало - 01000000, конец - 01FFFFFF. Это
16-тиметровый дамп, из него описанным выше образом можно выдрать часть
или всю прошивку.
Есть еще более удобный способ для снятия неполного дампа с телефона.
Пример снятия первого мегабайта:
рис.
В заключение вот вам список размеров и конечных адресов известных мне
прошивок:
X10DXWK3: 10 838 856 байт / 00A56347
X10XEWJ2: 11 496 420 байт / 00AF6BE3
X10XEWK2: 11 523 232 байт / 00AFD49F
X100XEDC2: 11 532 140 байт / 00AFF76B
X100XEDD2: 11 534 084 байт / 00AFFF03
X60XEDA1: 12 214 148 байт / 00BA5F83
X60XEWL1: 12 210 404 байт / 00BA50E3
X600XEDC2: 12 216 648 байт / 00BA6947
|