Исходник дешифратора паролей QIP Infium/2010 [DELPHI]

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ka3101, 8 May 2011.

  1. ka3101

    ka3101 New Member

    Joined:
    12 Feb 2011
    Messages:
    8
    Likes Received:
    2
    Reputations:
    5
    Думаю когото они интересуют. Дешифрырует QIP Infium/2010
    В нового Infium пароли невытаскивает :( но старые версии работают на ура! 2010 тестил тоже работает на ура!

    Компилировался на delphi 7, как поведёт себя в других версиях Delphi незнаю :p

    Скачать:
    Code:
    http://rghost.ru/5571897
     
    #1 ka3101, 8 May 2011
    Last edited: 8 May 2011
    1 person likes this.
  2. Steam[777]

    Steam[777] Elder - Старейшина

    Joined:
    27 Sep 2010
    Messages:
    296
    Likes Received:
    43
    Reputations:
    25
    Проверил на XP/Infium/Delphi 7
    Работает, достаёт хеши(хеши не проверял)
    Пригодится.
    Автору +
     
  3. ka3101

    ka3101 New Member

    Joined:
    12 Feb 2011
    Messages:
    8
    Likes Received:
    2
    Reputations:
    5
    Если кто додумет как вытаскивать пароли из нового Infium отпишитесь плиз в ЛС :)
     
  4. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    ka3101
    если не лень опиши алгоритм... мне лень смотреть исходник :)
     
    _________________________
  5. ka3101

    ka3101 New Member

    Joined:
    12 Feb 2011
    Messages:
    8
    Likes Received:
    2
    Reputations:
    5
    :p я для того и выкладывал исходник, чтобы алгоритм не обьъяснять
     
  6. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    2 ka3101 можно оптимальнее написать DeCryptQipInfiumProfile, формат файла не видел но уверен можно обойтись без копирования логина и пароля в динамически выделяемый буфер, а все преобразования проводить прямо в выделенной памяти.
     
    _________________________
  7. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    Gar|k, думаю ka3101 тебе ничего не объяснит =D, так как исходники эти он когда-то брал у меня, и они немного кривоваты, а что до новый версий QIP Infium, то там совсем другой алгоритм шифрования, чему я искренне рад, меньше людей пострадает от свеженаштопаных кривых троянцев =)
     
    1 person likes this.
  8. ka3101

    ka3101 New Member

    Joined:
    12 Feb 2011
    Messages:
    8
    Likes Received:
    2
    Reputations:
    5
    Ты ошибаешся я у тебя нечего небрал :) я поменялся с пацаном на фэйк страницы Mail.ru с проверкой на валидность :) Так то я незнаю в скольких он руках еще побывал. Раз мне он так можно сказать просто достался я его выложил в сеть :p
     
  9. ka3101

    ka3101 New Member

    Joined:
    12 Feb 2011
    Messages:
    8
    Likes Received:
    2
    Reputations:
    5
    я недурак покупать исходники и раскидываться ими за + на форуме :D
     
  10. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    не хочу разводить тут демогогию и выкладывать лог переписки с icq (только не говори, что это не твой уин 333357566)
    но выходит, что так... =)
     
  11. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    мдэ я уж обрадовался более менее адекватному человеку, который даже (тут редкость) знает что такое файл маппинг... а оказывается вон чо...
    ну нужно предупреждать сразу, что это не твои исходники.
     
    _________________________
  12. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    Что касаемо алго, раз на то пошло, то он прост:
    логин и пароль хранятся в виде простенькой структуры:
    первый байт это длина строки, сразу за ним идет шифрованная строка указанного размера

    Далее открываем профиль и ищем следующую константу:
    Code:
    0x00 0x02 0x00 0x00 0x00 0x03 0x00
    перед ней находится конец шифрованного логина, начало думаю доголаетесь как получит, после ... 0x03 0x00 идет байт длины пароля и сам шифрованный пароль\хэш

    шифрование тоже ничего сложно не представляет:
    берем первый символ инкремируем на величину позиции в строке (индексация начинается с 1) и далее NOT, так в цикле до конца строки
    На делфи примерно так:
    Code:
    procedure DeCryptQipInfiumStr(var Hash: String);
    var
      i: Byte;
    begin
      for i:= 1 to Length(Hash) do
        Hash[i]:= Char(not(Ord(Hash[i]) + i));
    end;
    
    PS: поиск по 0x00 0x02 0x00 0x00 0x00 0x03 0x00 не актуален для последних версий QIP Infium
     
    1 person likes this.
  13. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    2 alexey-m
    когда начинал анализ mra.dbs тоже алгоритмы основывались на поиске, но догадаться не сложно что подобные файле представляют из себя какие-то упорядоченные структуры данных. Поэтому вместо того чтобы искать магические цепочки байт по которым можно сделать поиска, нужно искать зависимости.
    Например ты увидел что длина это один байт перед хешем, а посмотри смещение этого байта может это смещение в числовом виде где-то присутвует в файле? а может оно постоянно если знать начало структуры данных....
     
    _________________________
  14. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    Gar|k, сказал же, что алго немного кривой, тогда мне лень было разбирать, из-за нового алго шифрования пришлось поковырять структуру базы профиля инфиума(qip 2010) в принципе, там почти как с паролями всё, и уж точно по-проще, чем с mra.dbs
     
  15. J3G

    J3G New Member

    Joined:
    29 Oct 2009
    Messages:
    1
    Likes Received:
    3
    Reputations:
    0
    404. Перезалейте пожалуйста.