реверсирование алгоритма шифрования пароля

Тема в разделе "WASM.BEGINNERS", создана пользователем UNI_X, 31 июл 2005.

  1. UNI_X

    UNI_X New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2005
    Сообщения:
    3
    Адрес:
    Russia
    Здравствуйте, я не так давно начал осваивать ассемблер и то, что я щас спрошу вы наверное сочтёте за глупость, но для меня это проблема. Вобщем есть программа, она шифрует пасс по определённому алгоритму, потом пишет зашифрованный пасс в реестр, мне нужно найти место в программе, где собественно незашифрованная строка, превращается в шифр (т.е. начало и конец кода проделывающего данную операцию). Затем, как я думаю, будет не сложно проделать все операции с зашифрованной строкой в обратном порядке и получить исходную. Главная проблема сейчас в том, где и как мне найти эти операции???
     
  2. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    global rtfm
     
  3. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    Скорее всего может оказатся, что обратным порядком получить исходную строку будет невозможно. На чем написана прога? Откуда она берет пароль, юзер вводит или из файла читает?
     
  4. UNI_X

    UNI_X New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2005
    Сообщения:
    3
    Адрес:
    Russia


    Это ещё почему??? Хорошо, я уточню - имелось ввиду следующее: провести обратные действия над шифрованной строкой в обратном порядке хотя если есть другой путь, то подскажите пожалуйста, а то я что-то не понмаю...



    Точно не знаю, есть лишь предположение, что на VB.



    Пароль вводит юзер, в настройках проги, при последующих запусках прога читает пасс из реестра и расшифровывает его.
     
  5. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    UNI_X

    На васме есть статья про то как рипать код оптом. Ее конечно мало, нужно еще асм круто знать...
     
  6. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    UNI_X >




    В разделе инструменты на этом сайте лежат PEiD и PETools

    Они должны помочь с идентификацией компилятора или пакера.
     
  7. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    UNI_X




    Ну смотри, ввел юзер пароль 'abcd', прога его преобразовала и сохранила в реестре число '0xfe7d2a61', алгоритм пускай такой
    Код (Text):
    1.             eax  =  'abcd'
    2.  
    3.             mov     ecx,eax
    4.             and     ecx,0x0f0f0f0f
    5.             mov     edx,eax
    6.             and     edx,0xf0f0f0f0
    7.             imul    eax,ecx
    8.             add     eax,edx
    9.             imul    eax,edx
    10.             add     eax,ecx
    11.  
    12.             eax  =  0xfe7d2a61
    Какой обратной операцией можно получить пароль? Тут конечно проблема не большая, но ведь прога скорее использует не 4 байта, а гораздо больше и ф-ция куда похлеще



    По твоим словам ничего наверняка сказать нельзя, попробуй сам узнать алгоритм (cryptosearcher в инструментах) + бряк в дебагере на чтение реестра (RegQueryValue, RegQueryValueEx ...) потом на участок памяти куда будет считано значение
     
  8. UNI_X

    UNI_X New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2005
    Сообщения:
    3
    Адрес:
    Russia
    2 bogrus, ты прав, насчет последовательности действий... не вакт что таким образом я узнаю пасс, скорее всего даже я его не узнаю таким образом. Насчёт совета:

    спасибо, надо попробовать!