Как реверсятся большие С++ приложения.

Тема в разделе "WASM.RESEARCH", создана пользователем neutronion, 27 янв 2012.

  1. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Привет, хотелось бы узнать у опытных людей, как реверсят большие приложения.
    Вопрос не стоит как определить, что делает отдельная функция. Нужно понять как
    реверсеры строят диаграммы классов(если строят их).
     
  2. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    neutronion
    Например какие?
    ИМХО все "большое приложение на С++" ни кто не реверсит, зачем оно надо?
    Вот отдельные куски это другое дело.
    И уж диаграммы классов тоже врядли строят.
     
  3. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Согласен. Но для того чтобы разобраться с куском кода необходимы знания взаимодействия
    классов в этом куске? Например, хочется вставить свой кусок в программу, но для этого придется отреверсить кусок кода и понять взаимодействие классов.
     
  4. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
    Например так: все достаточно очевидно, обычно ищут максимально близкое средство с открытым кодом, изучаются методы, с помощью
    которых можно обеспечить функциональность программы, а далее либо снизу вверх реверсится, либо сверху вниз.
    А классы или С++, это скорее детали.
     
  5. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    И как эти детали делаются?
     
  6. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Странные вопросы. Большие С++ приложения при наличии исходников-то затрахаешься понимать как оно рабоает :)
     
  7. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
    Я это к тому говорил, что например есть чат, и его протокол был отреверсен, и вопрос зачем мне нужна его иерархия классов, я перепешу его зная протокол и все. А классы и подобное это побочный эффект реверсинга, на мой взгляд.
     
  8. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    1. Решается, какую конкретно функциональность нужно скопировать.
    2. Отслеживаются вызовы разных апи, и прочие сношения с внешним кодом.
    3. Разреверсиваются подробно всякие хитровыделанные алгоритмы, вроде шифрования или обработки форматов.
    4. Результаты сопоставляются и отдаются специально обученным людям разработчикам.
    5. ?????
    6. PROFIT!

    Тонкости отношений внутренних классов как правило никого, кроме особо тяжелых маньяков, не интересуют.
     
  9. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Тогда тот кто отреверсил этот протокол, игнорировал классовую структуру думаете?
     
  10. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Попробовал недавно понять структуру .lsd файлов лингво. Запутался в вызовах, частей кода.
    Где формируется статья перевода нашел легко, а вот как она формируется устал честно говоря, копать. Отсюда и вопрос. У Касперского книга есть хорошая и некоторых других авторов, они эту тему не поднимают. Все есть как распознать классы и ее вирт. и невиртуальные функции, наследование. ЮМЛ что-ли юзать?
     
  11. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
    ну уж точно не ставил целью ее востановить, если она помогает например как в qt приложениях то еще куда ни шло, но это не всегда опять таки на мой взгляд уместно.
     
  12. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Реверсили когда-нибудь какой-нить протокол в приложении на С++?
     
  13. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
    Да, и не один, и к чему Вы это спрашивали непонятно. Знания языка только помогают это делать и все, а ставить это как самоцель не понятно.
     
  14. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Обходились всегда без знания классовой структуры?
     
  15. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
    Прямо допрос, что значит всегда? я уже вам писл на этот счет смотрите выше.
     
  16. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Не допрос, ведь на вопрос о том как делаются
    понятного ответа и не было. Как делать эти детали.
     
  17. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
    если вы имеете ввиду как востанавлиыать структуру класс то для этого, если надо пишится скрипт для IDA ( я делел так)

    Вы сами скажите зачем Вам диаграмы то?для облегчения реверсинга? Ведь программ все равно практичиски никогда не реверсится целиком, зачем например Вам реверсить все что GUI обслуживает? Даже если Вам нужно написать аналог, то менюшки Вы сам можете сделать, и востанавливать например всю иерархию MFC вам не к чему!
     
  18. sergegers

    sergegers New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2008
    Сообщения:
    172
    а что это за версия скайпа? виндовая? или это Skype SDK?
     
  19. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Возможно, их структура важна, если они имеют прямое отношение к реализации алгоритма. Но "самое главное и важное значение" это имхо преувеличение. Любой алгоритм можно при большом желании переписать на плейн-си или даже в машинных кодах, по крайней мере до появления ООП это как-то делали.
     
  20. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Ой ли? И что они, интересно, забыли в
    Лучше расскажите, кому и зачем нужно
    очень интересно.