Лан хрен с ними - типовиками, надо отдыхать!! =) Если кто-нибудь знает какой-нибудь тутор по распаковке этого протектора, киньте ссылочку. Извини что выкладываю ответ, но чёт никто ничего не пишет. Запускаем программу и мы тут: Code: 004050D4 > EB 01 JMP SHORT CrackMe_.004050D7 трассируем по f9. программа запускается после вот этого: Code: 004001C1 FFFF ??? ; Unknown command 004001C3 FFFF ??? ; Unknown command 004001C5 FFFF ??? ; Unknown command 004001C7 FFFF ??? ; Unknown command Как всегда, ставим бряк на esp-4, доходим до этого места, Shift-F9, и мы тут: Code: 00406ADA F7D2 NOT EDX ; ntdll.KiFastSystemCallRet 00406ADC 39C2 CMP EDX,EAX 00406ADE F7C0 74E7F921 TEST EAX,21F9E774 00406AE4 0FACC2 48 SHRD EDX,EAX,48 ; Shift constant out of range 1..31 Т.к. я знаю на чем ты кодишь(это тоже важная инфа), мне показался подозрительным следующий код: Code: 00406B14 31C2 XOR EDX,EAX 00406B16 68 6A1E3E44 PUSH 443E1E6A 00406B1B 812C24 4E05FE43 SUB DWORD PTR SS:[ESP],43FE054E 00406B22 68 2C6B4000 PUSH CrackMe_.00406B2C 00406B27 -E9 A6A6FFFF JMP CrackMe_.004011D2 ; JMP to MSVBVM60.ThunRTMain Чтобы убедится, что я прав распаковываем твой старый крякмис. И смотрим начало. Code: 004011A4 68 78224000 PUSH CrackMe!.00402278 004011A9 E8 F0FFFFFF CALL CrackMe!.0040119E ; JMP to MSVBVM60.ThunRTMain 004011AE 0000 ADD BYTE PTR DS:[EAX],AL 004011B0 0000 ADD BYTE PTR DS:[EAX],AL 004011B2 0000 ADD BYTE PTR DS:[EAX],AL Чтож так оно и есть. MSVBVM60.ThunRTMain должен находится в начале программы. Я не сталкивался с этим потектором и подумал, что это спёртые байты(возможно так оно и есть). Дошёл до JMP CrackMe_.004011D2 и зашёл в него. Я оказался тут: Code: 004011C0 .-FF25 58104000 JMP DWORD PTR DS:[401058] ; MSVBVM60.EVENT_SINK_QueryInterface 004011C6 .-FF25 40104000 JMP DWORD PTR DS:[401040] ; MSVBVM60.EVENT_SINK_AddRef 004011CC .-FF25 50104000 JMP DWORD PTR DS:[401050] ; MSVBVM60.EVENT_SINK_Release 004011D2 .-FF25 88104000 JMP DWORD PTR DS:[401088] ; MSVBVM60.ThunRTMain 004011D8 00 DB 00 004011D9 00 DB 00 004011DA 00 DB 00 004011DB 00 DB 00 004011DC 00 DB 00 004011DD 00 DB 00 004011DE 00 DB 00 004011DF 00 DB 00 Таблица импорта сразу понял я. Поднявшись выше, я увидел: Code: 00401166 $-FF25 44104000 JMP DWORD PTR DS:[401044] ; MSVBVM60.__vbaStrCmp Хм, гдет я это видел =) Ставим бряк на доступ. снимаем бряк с esp-4, и по f9. Прога запустилась. Вводим в эдитконтрол "Я крут" =). И на кнопку. Code: 00401166 $-FF25 44104000 JMP DWORD PTR DS:[401044] ; MSVBVM60.__vbaStrCmp Смотрим в окошко пониже: Code: DS:[00401044]=660E8A03 (MSVBVM60.__vbaStrCmp) Local call from 004026CA Идём на 004026CA Видим следующие строки: Code: 004026BC . 50 PUSH EAX 004026BD . E8 B6EAFFFF CALL CrackMe_.00401178 ; JMP to MSVBVM60.__vbaHresultCheckObj 004026C2 > FF75 E8 PUSH DWORD PTR SS:[EBP-18] 004026C5 . 68 0C234000 PUSH CrackMe_.0040230C ; UNICODE "Unicode" 004026CA . E8 97EAFFFF CALL CrackMe_.00401166 ; JMP to MSVBVM60.__vbaStrCmp 004026CF . 8BF8 MOV EDI,EAX 004026D1 . 8D4D E8 LEA ECX,DWORD PTR SS:[EBP-18] 004026D4 . F7DF NEG EDI 004026D6 . 1BFF SBB EDI,EDI 004026D8 . 47 INC EDI Чтож должен признаться UNICODE "Unicode" усыпило моё внимание, но не надолго. 1. vbaStrCmp - это единственный вызов. 2. гдет читал про троян, который шифрует файлы по их адресам(адрес в смысле путь). Короче Unicode - это и есть пасс. Registred!
Не плохо так все расписал... спасибо. Работал под Softice'ом ? дальше прошу продолжить разговор здесь .