Автор: GL#0M gl00m-crk@yandex.ru
Цель: WinCAM 2000
Инструменты: SoftICE и любой компилятор.
* Reference To: MFC42D.Ordinal:0370, Ord:0370h | :004BA9F0 E8AD610800 Call 00540BA2 :004BA9F5 50 push eax :004BA9F6 E87F96F4FF call 0040407A // заходим... :004BA9FB 83C404 add esp, 00000004 :004BA9FE 85C0 test eax, eax :004BAA00 7456 je 004BAA58 :004BAA02 8B45FC mov eax, dword ptr [ebp-04] :004BAA05 0534010000 add eax, 00000134 :004BAA0A 51 push ecx :004BAA0B 8BCC mov ecx, esp :004BAA0D 8965F4 mov dword ptr [ebp-0C], esp :004BAA10 50 push eax ...
:00503D64 8B45BC mov eax, dword ptr [ebp-44] // EAX := сумма чисел :00503D67 99 cdq :00503D68 B91A000000 mov ecx, 0000001A // EСX := 26 :00503D6D F7F9 idiv ecx :00503D6F 83C241 add edx, 00000041 // к остатку прибавляем 65. :00503D72 8855C0 mov byte ptr [ebp-40], dl // запоминаем букву. :00503D75 0FBE55C0 movsx edx, byte ptr [ebp-40] :00503D79 0FBE45E4 movsx eax, byte ptr [ebp-1C] :00503D7D 3BD0 cmp edx, eax :00503D7F 7407 je 00503D88 :00503D81 33C0 xor eax, eax :00503D83 E98A000000 jmp 00503E12 // на ошибку *---------------вырезано---------------* * Reference To: MSVCRTD._chkesp, Ord:00C8h | :00503D99 E8C8E20300 Call 00542066 :00503D9E 8945B8 mov dword ptr [ebp-48], eax // EAX = 1234 (например). :00503DA1 817DB8D0070000 cmp dword ptr [ebp-48], 000007D0 :00503DA8 7D04 jge 00503DAE // если > или = 2000, то прыжок :00503DAA 33C0 xor eax, eax :00503DAC EB64 jmp 00503E12 // на ошибку ...
... * Reference To: MSVCRTD._chkesp, Ord:00C8h | :00503DD8 E889E20300 Call 00542066 :00503DDD 8945B0 mov dword ptr [ebp-50], eax :00503DE0 8B4DB8 mov ecx, dword ptr [ebp-48] // ECX := 2000 :00503DE3 034DB4 add ecx, dword ptr [ebp-4C] // + 123 :00503DE6 034DB0 add ecx, dword ptr [ebp-50] // + 2000 :00503DE9 894DAC mov dword ptr [ebp-54], ecx :00503DEC 8B45AC mov eax, dword ptr [ebp-54] // EAX := 4123 :00503DEF 99 cdq :00503DF0 B91A000000 mov ecx, 0000001A :00503DF5 F7F9 idiv ecx :00503DF7 83C241 add edx, 00000041 :00503DFA 8855C0 mov byte ptr [ebp-40], dl // запоминаем букву. :00503DFD 0FBE55C0 movsx edx, byte ptr [ebp-40] :00503E01 0FBE45CC movsx eax, byte ptr [ebp-34] :00503E05 3BD0 cmp edx, eax :00503E07 7404 je 00503E0D :00503E09 33C0 xor eax, eax :00503E0B EB05 jmp 00503E12 // на ошибку * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00503E07(C) | :00503E0D B801000000 mov eax, 00000001 ...
Материалы находятся на сайте http://cracklab.narod.ru/doc/