Ранг: 2.5 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 17 февраля 2007 07:42 · Поправил: Moonglow · Личное сообщение · #1
Хочу сгенерировать себе ключа, патчить неактуально. Защита несложная, но ключа я так и не получил, вернее получил, но "7rLT!S", что явно не работает. ;)
О проге:
Графический Фидо понткомплект, разрабатывается в Гемании, заброшен в 2003 году, оригинальная версия на немецком, у меня - русская, написана на Делфи 2, не пакована, линк: http://slil.ru/23946800 http://slil.ru/23946800 на мою версию.
Поковырялся немного, что получил:
первое:
004EC984 /. 55 PUSH EBP
004EC985 |. 8BEC MOV EBP,ESP
004EC987 |. 81C4 ECFDFFFF ADD ESP,-214
004EC98D |. 53 PUSH EBX
004EC98E |. 56 PUSH ESI
004EC98F |. 57 PUSH EDI
004EC990 |. 33C9 XOR ECX,ECX
004EC992 |. 898D F4FEFFFF MOV DWORD PTR SS:[EBP-10C],ECX
004EC998 |. 898D ECFEFFFF MOV DWORD PTR SS:[EBP-114],ECX
004EC99E |. 898D F0FEFFFF MOV DWORD PTR SS:[EBP-110],ECX
004EC9A4 |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX
004EC9A7 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
004EC9AA |. 33C0 XOR EAX,EAX
004EC9AC |. 55 PUSH EBP
004EC9AD |. 68 F2CA4E00 PUSH wpoint.004ECAF2
004EC9B2 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
004EC9B5 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
004EC9B8 |. BA 08CB4E00 MOV EDX,wpoint.004ECB08
004EC9BD |. 8D85 F4FEFFFF LEA EAX,DWORD PTR SS:[EBP-10C]
004EC9C3 |. E8 B06EF1FF CALL wpoint.00403878
004EC9C8 |. 8D95 ECFEFFFF LEA EDX,DWORD PTR SS:[EBP-114]
004EC9CE |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004EC9D1 |. 8B80 B8010000 MOV EAX,DWORD PTR DS:[EAX+1B8]
004EC9D7 |. E8 A8A7F2FF CALL wpoint.00417184
004EC9DC |. 8B85 ECFEFFFF MOV EAX,DWORD PTR SS:[EBP-114]
004EC9E2 |. 8D95 F0FEFFFF LEA EDX,DWORD PTR SS:[EBP-110]
004EC9E8 |. E8 5B9FF1FF CALL wpoint.00406948 ; что-то делают с ключом
004EC9ED |. 8B95 F0FEFFFF MOV EDX,DWORD PTR SS:[EBP-110] ;
004EC9F3 |. 8D85 F4FEFFFF LEA EAX,DWORD PTR SS:[EBP-10C] ;
004EC9F9 |. E8 626FF1FF CALL wpoint.00403960 ;
004EC9FE |. 8B95 F4FEFFFF MOV EDX,DWORD PTR SS:[EBP-10C] ;
004ECA04 |. 8D85 F8FEFFFF LEA EAX,DWORD PTR SS:[EBP-108] ;
004ECA0A |. B9 FF000000 MOV ECX,0FF ;
004ECA0F |. E8 7C72F1FF CALL wpoint.00403C90 ;
004ECA14 |. 8D85 F8FEFFFF LEA EAX,DWORD PTR SS:[EBP-108] ;
004ECA1A |. 50 PUSH EAX ;
004ECA1B |. 8D95 ECFEFFFF LEA EDX,DWORD PTR SS:[EBP-114] ;
004ECA21 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ;
004ECA24 |. 8B80 B4010000 MOV EAX,DWORD PTR DS:[EAX+1B4] ;
004ECA2A |. E8 55A7F2FF CALL wpoint.00417184 ;
004ECA2F |. 8B95 ECFEFFFF MOV EDX,DWORD PTR SS:[EBP-114]
004ECA35 |. 8D85 ECFDFFFF LEA EAX,DWORD PTR SS:[EBP-214]
004ECA3B |. B9 FF000000 MOV ECX,0FF
004ECA40 |. E8 4B72F1FF CALL wpoint.00403C90 ; Принимает имя и тоже что-то считает
004ECA45 |. 8D95 ECFDFFFF LEA EDX,DWORD PTR SS:[EBP-214]
004ECA4B |. A1 105F5600 MOV EAX,DWORD PTR DS:[565F10]
004ECA50 |. 8B80 00020000 MOV EAX,DWORD PTR DS:[EAX+200]
004ECA56 |. 59 POP ECX
004ECA57 |. E8 6C18FFFF CALL wpoint.004DE2C8 ; Собственно процедура проверки
004ECA5C |. 85C0 TEST EAX,EAX
004ECA5E |. 75 4C JNZ SHORT wpoint.004ECAAC ; при правильном ключе zf=0
второе, наиболее интересный кусок процедуры проверки:
004DE2C8 /$ 55 PUSH EBP
004DE2C9 |. 8BEC MOV EBP,ESP
004DE2CB |. 83C4 B4 ADD ESP,-4C
004DE2CE |. 56 PUSH ESI
004DE2CF |. 57 PUSH EDI
004DE2D0 |. 8BF1 MOV ESI,ECX
004DE2D2 |. 8D7D F2 LEA EDI,DWORD PTR SS:[EBP-E]
004DE2D5 |. 33C9 XOR ECX,ECX
004DE2D7 |. 8A0E MOV CL,BYTE PTR DS:[ESI]
004DE2D9 |. 80F9 09 CMP CL,9
004DE2DC |. 72 02 JB SHORT wpoint.004DE2E0
004DE2DE |. B1 09 MOV CL,9
004DE2E0 |> 880F MOV BYTE PTR DS:[EDI],CL
004DE2E2 |. 46 INC ESI
004DE2E3 |. 47 INC EDI
004DE2E4 |. F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[>
004DE2E6 |. 8BF2 MOV ESI,EDX
004DE2E8 |. 8D7D B5 LEA EDI,DWORD PTR SS:[EBP-4B]
004DE2EB |. 33C9 XOR ECX,ECX
004DE2ED |. 8A0E MOV CL,BYTE PTR DS:[ESI]
004DE2EF |. 80F9 32 CMP CL,32
004DE2F2 |. 72 02 JB SHORT wpoint.004DE2F6
004DE2F4 |. B1 32 MOV CL,32
004DE2F6 |> 880F MOV BYTE PTR DS:[EDI],CL
004DE2F8 |. 46 INC ESI
004DE2F9 |. 47 INC EDI
004DE2FA |. F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[>
004DE2FC |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
004DE2FF |. 33C0 XOR EAX,EAX
004DE301 |. 8A45 B5 MOV AL,BYTE PTR SS:[EBP-4B]
004DE304 |. 40 INC EAX
004DE305 |. 83F8 32 CMP EAX,32
004DE308 |. 7F 14 JG SHORT wpoint.004DE31E
004DE30A |. 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX
004DE30D |> 8B45 E8 /MOV EAX,DWORD PTR SS:[EBP-18]
004DE310 |. C64405 B5 67 |MOV BYTE PTR SS:[EBP+EAX-4B],67
004DE315 |. FF45 E8 |INC DWORD PTR SS:[EBP-18]
004DE318 |. 837D E8 33 |CMP DWORD PTR SS:[EBP-18],33
004DE31C |.^75 EF JNZ SHORT wpoint.004DE30D
004DE31E |> 8D4D F2 LEA ECX,DWORD PTR SS:[EBP-E]
004DE321 |. 8D55 B5 LEA EDX,DWORD PTR SS:[EBP-4B]
004DE324 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004DE327 |. E8 14FFFFFF CALL wpoint.004DE240
004DE32C |. 84C0 TEST AL,AL
004DE32E 74 35 JE SHORT wpoint.004DE365
004DE330 |. 33C0 XOR EAX,EAX
004DE332 |. 8945 EC MOV DWORD PTR SS:[EBP-14],EAX
004DE335 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004DE338 |. 05 38020000 ADD EAX,238
004DE33D |. 8D55 B5 LEA EDX,DWORD PTR SS:[EBP-4B]
004DE340 |. B1 32 MOV CL,32
004DE342 |. E8 D948F2FF CALL wpoint.00402C20
004DE347 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004DE34A |. 05 6B020000 ADD EAX,26B
004DE34F |. 8D55 F2 LEA EDX,DWORD PTR SS:[EBP-E]
004DE352 |. B1 09 MOV CL,9
004DE354 |. E8 C748F2FF CALL wpoint.00402C20
004DE359 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004DE35C |. C680 7C020000 >MOV BYTE PTR DS:[EAX+27C],1
004DE363 |. EB 11 JMP SHORT wpoint.004DE376
004DE365 |> C745 EC 010000>MOV DWORD PTR SS:[EBP-14],1
004DE36C |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004DE36F |. C680 7C020000 >MOV BYTE PTR DS:[EAX+27C],0
004DE376 |> 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
004DE379 |. 5F POP EDI
004DE37A |. 5E POP ESI
004DE37B |. 8BE5 MOV ESP,EBP
004DE37D |. 5D POP EBP
004DE37E . C3 RETN
Перед сравниванием, имя и пароль добиваются символами до определенной длины. В результате - ключевой файл.
| Сообщение посчитали полезным: |