>> Мне особо было понятно, как с исключениями бороться, не сталкивался с отладкой...
особо или не особо?) Если я по контексту правильно понимаю, то не особо.
Оключи игнорирование исключения int 3 (Alt+O - > Exceptions и сними галочку с int 3 command). Первый раз сработает после чтения текста из эдита. Смотришь в стек
Код:
0006FB04 0006FB94 Pointer to next SEH record
0006FB08 004023A5 SE handler
Переходишь по адресу SEH handler - он и есть наш обработчик.
Код:
004023A5 $ 55 PUSH EBP ; Structured exception handler
004023A6 . 89E5 MOV EBP,ESP
004023A8 . B8 5690EB03 MOV EAX,3EB9056
004023AD .^EB FA JMP SHORT CrackME.004023A9
004023AF 15 DB 15
004023B0 . 8B75 10 MOV ESI,DWORD PTR SS:[EBP+10]
004023B3 . 8B86 B8000000 MOV EAX,DWORD PTR DS:[ESI+B8]
004023B9 . 8386 B8000000 >ADD DWORD PTR DS:[ESI+B8],0B
004023C0 . 40 INC EAX
004023C1 . A3 18104000 MOV DWORD PTR DS:[401018],EAX
004023C6 . E8 35FCFFFF CALL CrackME.00402000
004023CB . 5E POP ESI
004023CC . 31C0 XOR EAX,EAX
004023CE . C9 LEAVE
004023CF . C2 1000 RETN 10
Нам вообще нужна процедура, которая вызывается из этого обработчика.
Код:
004023C6 . E8 35FCFFFF CALL CrackME.00402000
вызов...
А далее на ее начало бряк и исключения можно игнорить снова.