Здравствуйте, я не так давно начал осваивать ассемблер и то, что я щас спрошу вы наверное сочтёте за глупость, но для меня это проблема. Вобщем есть программа, она шифрует пасс по определённому алгоритму, потом пишет зашифрованный пасс в реестр, мне нужно найти место в программе, где собественно незашифрованная строка, превращается в шифр (т.е. начало и конец кода проделывающего данную операцию). Затем, как я думаю, будет не сложно проделать все операции с зашифрованной строкой в обратном порядке и получить исходную. Главная проблема сейчас в том, где и как мне найти эти операции???
Скорее всего может оказатся, что обратным порядком получить исходную строку будет невозможно. На чем написана прога? Откуда она берет пароль, юзер вводит или из файла читает?
Это ещё почему??? Хорошо, я уточню - имелось ввиду следующее: провести обратные действия над шифрованной строкой в обратном порядке хотя если есть другой путь, то подскажите пожалуйста, а то я что-то не понмаю... Точно не знаю, есть лишь предположение, что на VB. Пароль вводит юзер, в настройках проги, при последующих запусках прога читает пасс из реестра и расшифровывает его.
UNI_X На васме есть статья про то как рипать код оптом. Ее конечно мало, нужно еще асм круто знать...
UNI_X > В разделе инструменты на этом сайте лежат PEiD и PETools Они должны помочь с идентификацией компилятора или пакера.
UNI_X Ну смотри, ввел юзер пароль 'abcd', прога его преобразовала и сохранила в реестре число '0xfe7d2a61', алгоритм пускай такой Code (Text): eax = 'abcd' mov ecx,eax and ecx,0x0f0f0f0f mov edx,eax and edx,0xf0f0f0f0 imul eax,ecx add eax,edx imul eax,edx add eax,ecx eax = 0xfe7d2a61 Какой обратной операцией можно получить пароль? Тут конечно проблема не большая, но ведь прога скорее использует не 4 байта, а гораздо больше и ф-ция куда похлеще По твоим словам ничего наверняка сказать нельзя, попробуй сам узнать алгоритм (cryptosearcher в инструментах) + бряк в дебагере на чтение реестра (RegQueryValue, RegQueryValueEx ...) потом на участок памяти куда будет считано значение
2 bogrus, ты прав, насчет последовательности действий... не вакт что таким образом я узнаю пасс, скорее всего даже я его не узнаю таким образом. Насчёт совета: спасибо, надо попробовать!