Подробный faq по портированию простых патчей Для начала:
1. ida pro (скачать можно[hide]ЗДЕСЬ[/hide])
2. Прога main2raw (скачать можно [hide]ЗДЕСЬ[/hide])
3. Прошивки (с которой будем портировать и на которую будем портировать)
4. Собственно исходные патчи.
Итак начнем….
Необходимо портировать этот патч:
на прошивку K750 SW-R1CA021.
1. Обрабатываем обе *.mbn прошивки с помощью проги main2raw(перетаскиваем их мышью прямо на эту прогу). В результате выдало…
Далее открываем обработанные *.raw файлы в ida pro…
Для это нажимаем file->open->и выбираем для начала например W800_R1BC002_MAIN_EU_CID36_BINARY.raw
Появилось окошко. Затем выставляем все так как на рисунке.
Нажимаем set, а потом OK.
Появилось следующее окошко… Выставляем все как на картинке…
Значения loading address нужно выбрать тот, который был выдан программой main2raw . Для k750/w800 это обычно 0x44020000. Значения rom size и loading size изменять не следует, они определяются автоматически. Нажимаем ОК. Дело пошло…
То же самое делаем с другим *.raw файлом.
Видим…
Мда… Мощная программа…
2. И к делу.
Берём кусок патча, а точнее адрес от него.
В IDA переходим на этот адрес в W800_R1BC002_MAIN_EU_CID36_BINARY.raw
Для этого нажимем G и вводим ROM:. 450F8154
Нажимаем ОК. Выбираем вкладку hex View-A. Смотрим и копируем эту строчку, на которую перешли c места где подставился курсор:
Теперь работаем с другой прошивкой…
Нажимаем alt+B и вставляем то что скопировали. ВНИМАНИЕ!!! Между байтами должен быть 1 пробел, иначе искать не будет.
Если не нашло, то сотрите один байт и так пока не найдет. Если находит больше адресов, чем надо, то наоборот добавьте байты. Возможно вы найдете и не те баиты. Но это надо пробовать. Тем более такой патч можно окатить.
ИТАК НАШЛИ АДРЕС!
Делаем первую строчку патча!
Меняется только адрес. Исходные данные 7EE70000 и данные, на которые изменяются эти данные (7CE70000) не изменяются. В более сложных патчах возможно потребуется менять hex значения.
Потом то же самое делаем, что мы делали от пункта 2, чтобы найти другой адрес.
Нашли. Это адрес 450E9CE8. Отлично. Теперь собираем патч!
Ну вот усе. Удачи!
Автор FAQ pentium166, редактирован мной. Взят с seclub.org