Хочу поправить пару констант в прошивке фотоаппарата Kodak P850, но не представляю с какой стороны подступиться к процессу. Ткните, пожалуйста, в какие-нибудь толковые статьи ("Retsaot is Toaster, Reversed: Quick 'n Dirty Firmware Reversing" уже читал). Существуют ли какие-нибудь "чудо-тулзы", которые могут облегчить процесс? С чего начать вообще? P.S.: С реверсингом PE знаком не по наслышке.
nibb13 думаю, стоит начать со спецификации железа фотика, хотя бы проц какой, чтобы в иду засунуть....
А пошивка на руках? Или ее еще нужно вытащить из фотика? Если на руках возможно ида тебе в помощь и мозг. Думать много и сильно. А если нет то пока не о той проблеме думаешь)
1. Скачиваем прошивку. 2. Распаковываем оттуда P850101.FW 3. Открываем в хекс вьюере: 0000000000: 4C 45 4E 47 54 48 3D 34 │ 30 34 35 35 38 34 20 20 LENGTH=4045584 0000000010: 20 20 53 58 38 32 33 20 │ 20 20 56 45 52 3D 76 38 SX823 VER=v8 0000000020: 32 33 2D 39 33 20 20 44 │ 56 52 3D 31 2E 30 31 30 23-93 DVR=1.010 0000000030: 30 20 20 53 55 4D 3D 33 │ 39 31 39 32 36 33 38 38 0 SUM=391926388 0000000040: 0D 0A 20 20 20 20 20 20 │ 20 20 20 20 20 20 20 20 ♪◙ 0000000050: 20 20 20 20 20 20 20 20 │ 20 20 20 20 20 20 20 20 0000000060: D2 00 A0 E3 00 F0 21 E1 │ BE D4 E0 E3 0F D0 2D E2 Т г р!бѕФаг☼Р-в 0000000070: DF 00 A0 E3 00 F0 21 E1 │ 08 D0 9F E5 04 F0 1F E5 Я г р!б◘Рџе♦р▼е 0000000080: 8C 14 01 00 40 FB A0 E3 │ F0 EF FF 41 30 43 2D E9 Њ¶☺ @ы грпяA0C-й 0000000090: 00 50 A0 E1 76 01 00 EB │ 00 10 A0 E1 01 40 A0 E1 P бv☺ л ► б☺@ б 00000000A0: 56 01 00 EB 05 00 A0 E1 │ CD 01 00 EB 00 00 54 E3 V☺ л♣ бН☺ л Tг 00000000B0: 01 00 00 0A 65 01 00 EB │ 00 00 00 EA 4F 01 00 EB ☺ ◙e☺ л кO☺ л Выделенные байты - явный признак ARM кода. Загружаем файл с оффсета 060 в иду. После некоторого тыканья по коду можно вывести, что правильная база загрузки - 0x010000.
Ребята, спасибо! Пошёл курить мануалы по ARM'ам и терзать IDA. С огромной вероятностью вернусь сюда с пачкой глупых вопросов.