Получение програмной части-ядра из файла .rom

Тема в разделе "WASM.BEGINNERS", создана пользователем Vadimcg, 23 мар 2018.

Метки:
  1. Vadimcg

    Vadimcg Member

    Публикаций:
    0
    Регистрация:
    5 апр 2017
    Сообщения:
    32
    Имееться прошивка контроллера(example.rom), в которой находяться ресурсы+ программная часть, подскажите как получить программную часть? (Если можно посоветуйте, что почитать по реверсу прошивок.. )
     
  2. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    861
    Какой контроллер?
     
  3. Vadimcg

    Vadimcg Member

    Публикаций:
    0
    Регистрация:
    5 апр 2017
    Сообщения:
    32
    Незнаю), мне это надо определить
     
  4. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    861
    Скинь сюда прошивку.
     
  5. Vadimcg

    Vadimcg Member

    Публикаций:
    0
    Регистрация:
    5 апр 2017
    Сообщения:
    32
  6. Vadimcg

    Vadimcg Member

    Публикаций:
    0
    Регистрация:
    5 апр 2017
    Сообщения:
    32
    Откопал утилиту binwalk, выдает следующее:
    1009758 0xF685E Cisco IOS experimental microcode, for ""
    1925488 0x1D6170 EBML file
     
  7. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    861
    Seek AGREEMENT for the date of completion.\0 - ключ XOR который нужно применить к рому.
     
  8. Vadimcg

    Vadimcg Member

    Публикаций:
    0
    Регистрация:
    5 апр 2017
    Сообщения:
    32
    А можете пояснить как вы поняли это?
     
  9. Aiks

    Aiks Member

    Публикаций:
    0
    Регистрация:
    16 апр 2017
    Сообщения:
    109
    Адрес:
    Украина
    Там где в прошивке должны быть нулевые значения - мы видим этот текст. В одним местах частично, в других полностью.
     
  10. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    861
    В конце повторяющиеся строки. Обычно ром в конце нули либо FF содержит, в данном случае нули. Далее анализ через binwalk дает образ uImage для Linux.
     
  11. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Vadimcg,

    > А можете пояснить как вы поняли это?

    Опыт. Пустое пространство в памяти контроллера называют калибровочной" памятью. Там хранятся таблицы, базы данных.
     
  12. Vadimcg

    Vadimcg Member

    Публикаций:
    0
    Регистрация:
    5 апр 2017
    Сообщения:
    32
    спасибо всем)
     
  13. Vadimcg

    Vadimcg Member

    Публикаций:
    0
    Регистрация:
    5 апр 2017
    Сообщения:
    32
    Получил из прошивки роутера файловую систему и часть которая по моему мнению содержит ядро linux.По поводу части содержащей ядро, binwalk показывает следующее:
    [​IMG]
    Вопрос: как мне из нее извлеч ядро? Как я понимаю binwalk использует эврестический анализ , поэтому данные которые я получил с его помощью могут быть неверными. Попытки извлеч binwalk -e ./98.bin заканчиваються получением поврежденных файлов.
    Как мне известно, ядро linux упаковываеться в gzip и упакованный код начинаеться с "магической полседовательности" 1F 8B 08 00(ее я могу найти по адрису 27DFD0). т.е по идее я должен вырезать фрагмент данных начиная от 27DFD0 и заканчивая..... чем? чтобы распаковать это gzip... Вырезал часть файла , начиная от 27DFD0 и до самого конца ->gzip -d мой_файл -> получаю не полные данные, все остальное теряеться