iDrive.com - как работает?

Discussion in 'Реверсинг' started by LA_, 4 Apr 2010.

  1. LA_

    LA_ Banned

    Joined:
    10 May 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    привет!
    необходимо определить как работает стандартный тул idrive.com по backup'у файлов - по какому адресу соединяется, что и в каком формате передает и т.п. - хочу написать свой клиент вместо стандартного.
    Как эти детали получить? HTTP Analyzer ver 3 почему-то запросы iDrive Backup Tool'a не перехватывает...
     
  2. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    ну так запусти обычный сниффер типа варишарка или комвью.
     
  3. LA_

    LA_ Banned

    Joined:
    10 May 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    м-да, этими программами пакеты увидел.
    их анализ показал (а потом и в справке это нашел), что
    никогда с этим не сталкивался раньше.
    есть ли смысл продолжать копать-разбираться? возможно ли в этом разобраться и повторить аналогичный функционал в своей программе?
     
  4. lis84

    lis84 Banned

    Joined:
    28 Apr 2009
    Messages:
    59
    Likes Received:
    10
    Reputations:
    1
    ИМХО, почему бы и нет.
    Только анализом траффика ничего не добудешь, надо ковырять саму программу на предмет алгоритмов.
     
  5. LA_

    LA_ Banned

    Joined:
    10 May 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    эх. запросы повторять я умею... а вот саму программу расковырять вряд ли сумею.
    может ли кто-нибудь помочь?
    думаете, на это кучу времени придется потратить?

    еще обнаружил интересную вещь - можно задавать свой ключ для криптования данных (только один раз при первом логине). только вот если я все правильно понял, то для расшифровки отправляемых данных нужно знать другой ключ. вопрос - можно ли задать какой-нибудь ключ таким образом, чтоб можно было узнать для расшифровки?
     
    #5 LA_, 5 Apr 2010
    Last edited: 5 Apr 2010
  6. Malor1k

    Malor1k Banned

    Joined:
    6 Mar 2010
    Messages:
    0
    Likes Received:
    11
    Reputations:
    0
    Имхо. попытка не пытка
     
  7. Hiro Protagonist

    Joined:
    26 Aug 2009
    Messages:
    132
    Likes Received:
    24
    Reputations:
    -2
    2LA_
    для ssl какую либу использует посмотри. Если чтото типа openssl или другой открытой то не проблема определить высокоуровневые функции в ктр данные уже в расшифрованном виде. Далее пиши перехватчик и снифай с помощью него. Если закрытые либы (что маловероятно), то реверс и тоже самое. Увидишь формат пакетов. Лучше всего отловить где происходит их парсинг и посмотреть все возможные варианты.
    И почитай про SSL наконец =\
     
  8. LA_

    LA_ Banned

    Joined:
    10 May 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    в сообщениях фигурирует openssl. и еще ssleay.
    про SSL почитал ))

    подскажите, плз, где можно почитать о том как это делается
     
  9. LA_

    LA_ Banned

    Joined:
    10 May 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    правильно ли я понимаю принцип работы SSL -
    1) клиент соединяется с сервером
    2) сервер возвращает клиенту сертификат со своим открытым ключом
    3) далее данные отправляемые от клиента серверу передаются зашифрованные этим ключом - сервер и клиент договариваются о ключе криптования

    только вот тогда зачем нужен собственный ключ криптования (который я могу сам задать)? для чего он используется?


    обнаружил еще следующее - программа ведет неплохие логи того, что делает. например, вот лог соединения с сервером:
    в папке с программой лежат два файла:
    server.pem
    rootcert.pem

    из первого находится следующая информация:
    Signature Algorithm: md5WithRSAEncryption
    Netscape Comment: OpenSSL Generated Certificate
    X509v3 Authority Key Identifier: DirName:/C=AU/ST=QLD/CN=SSLeay/rsa test CA



    и еще, создал тестовый эккаунт для экспериментов:
    username: iabcd_efgh
    password: iDriveTTT
    own encryption key: 123456789




    обнаружил еще одну забавную вешь - часть настроек они хранят в файле IDriveE.ini, закриптованными по алгоритму Цезаря со смещением в одну букву LOL
    расшифровать онлайн можно, например, тут
     
    #9 LA_, 7 Apr 2010
    Last edited: 7 Apr 2010
  10. Hiro Protagonist

    Joined:
    26 Aug 2009
    Messages:
    132
    Likes Received:
    24
    Reputations:
    -2
    берешь ман по openssl и смотришь как организуется отправка данных, функцию соответствующую перехватываещь, где в буфере будут данные.
     
  11. LA_

    LA_ Banned

    Joined:
    10 May 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    а как функцию соответствующую перехватывать? каким инструментом?

    установил для пробы IDA Pro. открыл exe, задаю поиск текста connectToServer - не находит.
    пытаюсь в нем же запустить дебаггер (local win32) - запускается и возвращает ошибку/exception типа The memory couldn't be read. Если продолжить, то вываливается еще куча ошибок.
    Что я делаю не так?
     
  12. LA_

    LA_ Banned

    Joined:
    10 May 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    как думаете, сколько может стоит работа по "вскрытию" алгоритма работы этой программы?

    интересно, дешевле данные на amazon s3 хранить или все-таки на idrive (бесплатно, но заплатив за алгоритм) :D