Как расшифровать поток данных?

Discussion in 'Реверсинг' started by Chrome~, 18 Dec 2010.

  1. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    937
    Likes Received:
    162
    Reputations:
    27
    Привет.
    Нужен ваш совет. Есть некоторая программа. Она отправляет несколько HTTP запросов, на один из которых мы получаем шифрованый поток данных. Программа же расшифровывает эти данные.

    Как можно получить алгоритм расшифровки или хотя бы добраться к месту расшифровки, используя OllyDbg? Это общий вопрос, который можно отнести к многим программам (то есть конкретный пример такой программы я не приведу).
     
  2. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Можно
     
  3. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    487
    Likes Received:
    184
    Reputations:
    5
    а можно показать эти зашифрованные данные?
    мне просто интересно...
    я тоже как то пробывал шифровать потоки данных програмно
     
  4. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    937
    Likes Received:
    162
    Reputations:
    27
    Нет, врятли это поможет.

    Как можно получить алгоритм расшифровки? Или для каждой программы - свое решение? У меня кроме как бряка на recv, WSARecv (и далее еще не понятно, что делать) никаких идей пока что не появилось.
     
  5. fluffylion

    fluffylion Member

    Joined:
    22 Feb 2010
    Messages:
    55
    Likes Received:
    10
    Reputations:
    0
    Попробуй для начала определи, на чем написан софт. Если это какой-нибудь высокоуровневый язык (Delphi, C++), то используя IDA + flirt + DeDe (для Delphi) можно сэкономить время и быстрее добраться до алгоритма (применяешь сигнатуру, смотришь какие компоненты реализуют HTTP сессию, и т.д.), если язык ассемблер или код был модифицирован, то я бы применил твое решение - ловишь место, где принимаются данные (тот же бряк на recv), и потом отслеживаешь их обработку.
    Вообщем все зависит от реализации приложения и доступных инструментов...
     
    1 person likes this.
  6. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    487
    Likes Received:
    184
    Reputations:
    5
    тут наверное есть все что необходимо
    http://cracklab.ru/

    Глубокие знания асма не помешали бы тоже
    была у меня знакомая девушка - виртуально
    она асм изучала, советовала этот сайт
    первую несложную программу по её словам она недели 2 ломала
    а потом все быстрее и быстрее....
    Еще там влияет факт вроде
    что программы еще упаковывают
    для просмотра кода программы через дизассемблер
    нужно распокавать программу
    а бывают еще и самописные упаковшики
    что уже усложняют работу

    Я не спец
    просто читал про это
     
    #6 rudi, 19 Dec 2010
    Last edited: 19 Dec 2010
    1 person likes this.
  7. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Если олька то:
    1) ставишь бряк на все функции получения данных из сети
    recv и тому подобное. зависит от реализации работы с сетью
    2) делаешь запросу который вернет шифрованные данные.
    3) смотришь параметры чтения какие были. вернее адрес буфер
    4) ставишь бряк на доступ к буферу.
    5) далее узнаешь что пытаются с ним сделать. Оттудаже и берешь алгоритм расшифровки

    Можно и с помошью IDA + Hex Ray тупо декомпильнуть прогу и поглядеть всё
     
    1 person likes this.