Программа: Sweet MIDI Arpeggiator (full version)
Сайт программы: www.ronimusic.com
Программа написана на: Microsoft Visual C++ 7.0
Автор: Out1aw
Софт: ollydbg
Что надо: Уметь работать с отладчиком
На предмет: нахождения пароля
Вот наконец последняя моя статья о том как находить пароли в программах со слабой защитой и написаных на Microsoft Visual C++ 7.0. Программка настолько простая, что этот взлом будет понятен даже простому любителю.И так начнем, загрузив программку в панели пароля я вел как обычно 123 и нажал окей, сообщение о неправильном пароле тут как тут.Открыв ollydbg я без труда нашел сообщение о неправильном пароле, и поставил брэкпоинт на GetDlgitemTexta, потом F9 что бы запустить прорамму из отладчика, после запуска программы в панели пароля я ввел 123 и нажал ОК, и оказался на знакомом мне коде:
Примечание:( Если Брэкпоинт сработает не на этом коде что с низу, а на другом просто удалите лишний брекпоинт, и перезагрузите программу Ctrl+F2)
0040427F . FF15 84634100 CALL DWORD PTR DS:[<&USER32.GetDlgItemTe>; \GetDlgItemTextA - Вызов о неправильном сообщении 00404285 . E8 E6FEFFFF CALL Swmiarp3.00404170 - Вызов проверки кода.
Дальше я начал трассировать программу F8(Трассировка без захода в процедуру), до CALL Swmiarp3.00404170, потом продолжел трассировку F7(Трассировать с заходом в процедуру) и оказался вот тут:
00404170 $ 83EC 24 SUB ESP,24 - Где я нахожусь 00404173 . A1 94B74100 MOV EAX,DWORD PTR DS:[41B794] 00404178 . 334424 24 XOR EAX,DWORD PTR SS:[ESP+24] 0040417C . 894424 20 MOV DWORD PTR SS:[ESP+20],EAX 00404180 . 33C0 XOR EAX,EAX 00404182 > 8A88 30B14100 MOV CL,BYTE PTR DS:[EAX+41B130] 00404188 . 884C04 00 MOV BYTE PTR SS:[ESP+EAX],CL 0040418C . 40 INC EAX 0040418D . 84C9 TEST CL,CL 0040418F .^75 F1 JNZ SHORT Swmiarp3.00404182 00404191 . 53 PUSH EBX 00404192 . 56 PUSH ESI 00404193 . 8D4C24 08 LEA ECX,DWORD PTR SS:[ESP+8] 00404197 . E8 94FFFFFF CALL Swmiarp3.00404130 0040419C . 8D7424 08 LEA ESI,DWORD PTR SS:[ESP+8] 004041A0 . B8 88CA4100 MOV EAX,Swmiarp3.0041CA88 - Тут спрятан наш код
Попав на код проверки пароля я начал трассировать F8 до MOV EAX,Swmiarp3.0041CA88, и в окне (Registers FPU) я увидел вот такой код:a784-rep-8ud, после я закрыл отладчик и запустил программу в панели пароля ввел a784-rep-8ud и как стоило ожидать этот код был правильным.
Удачи всем, пакеда.
© outlaw 08.12.2007

linux не говно,при правильном обращении все будет гладко. 1) Для нее не...
Linux vs Windows