Page 1 sur 1

Besoin d'aide pour crackme

MessagePosté: 04 Février 2019, 15:31
par lovsab
Bonjour à tous

Alors voilà je suis coincé sur un crackme :

J'ai compris qu'il nécessitait la création d'un keyfile de type .ini avec les sections Nom et Clé.
Pour valider il faut trouver la clé correspondante avec le nom ZEMBLA.
J'arrive dans cette routine où le crackme récupère les informations du keyfile :

Code: Tout sélectionner
004013FC  /$ 8B3D CD634000  MOV EDI,DWORD PTR DS:[4063CD]
00401402  |. 47             INC EDI
00401403  |. 68 C9614000    PUSH Crackme_.004061C9                   ; /IniFileName = "C:\Users\theo0\Desktop\Immunity\crackme24\keyfile.ini"
00401408  |. FF35 CD634000  PUSH DWORD PTR DS:[4063CD]               ; |BufSize = 2B (43.)
0040140E  |. FF35 D1634000  PUSH DWORD PTR DS:[4063D1]               ; |ReturnBuffer = 00760C98
00401414  |. 68 C1614000    PUSH Crackme_.004061C1                   ; |Section = "Nom"
00401419  |. E8 D6010000    CALL <JMP.&KERNEL32.GetPrivateProfileSec>; \GetPrivateProfileSectionA
0040141E  |. 0BC0           OR EAX,EAX
00401420  |. 75 05          JNZ SHORT Crackme_.00401427
00401422  |. E9 DF000000    JMP Crackme_.00401506
00401427  |> 50             PUSH EAX
00401428  |. 8BF0           MOV ESI,EAX
0040142A  |. 4E             DEC ESI
0040142B  |. 50             PUSH EAX                                 ; /MemSize
0040142C  |. 6A 40          PUSH 40                                  ; |Flags = GPTR
0040142E  |. E8 C7010000    CALL <JMP.&KERNEL32.GlobalAlloc>         ; \GlobalAlloc
00401433  |. A3 D5634000    MOV DWORD PTR DS:[4063D5],EAX
00401438  |. 56             PUSH ESI
00401439  |. 50             PUSH EAX
0040143A  |. FF35 D1634000  PUSH DWORD PTR DS:[4063D1]
00401440  |. E8 FB020000    CALL Crackme_.00401740
00401445  |. 57             PUSH EDI                                 ; /Length
00401446  |. FF35 D1634000  PUSH DWORD PTR DS:[4063D1]               ; |Destination = 00760C98
0040144C  |. E8 C7010000    CALL <JMP.&KERNEL32.RtlZeroMemory>       ; \RtlZeroMemory
00401451  |. 68 C9614000    PUSH Crackme_.004061C9                   ; /IniFileName = "C:\Users\theo0\Desktop\Immunity\crackme24\keyfile.ini"
00401456  |. FF35 CD634000  PUSH DWORD PTR DS:[4063CD]               ; |BufSize = 2B (43.)
0040145C  |. FF35 D1634000  PUSH DWORD PTR DS:[4063D1]               ; |ReturnBuffer = 00760C98
00401462  |. 68 C5614000    PUSH Crackme_.004061C5                   ; |Section = "Clé"
00401467  |. E8 88010000    CALL <JMP.&KERNEL32.GetPrivateProfileSec>; \GetPrivateProfileSectionA


C'est là où je coince, je n'arrive pas à situer la vérification nom/clé.
Je sature de l'entendre dire "Oh no !" et je préfèrerai entendre la petite musique sympa qui semble être celle lorsque la clé est valide ;)
Je ne trouve rien évidemment dans les text strings ni dans les différents imports..
Quelqu'un pourrait-il me mettre sur la voie ?
Merci d'avance

Le fichier : https://we.tl/t-vZkDSCnuiF

Re: Besoin d'aide pour crackme

MessagePosté: 04 Février 2019, 22:10
par lovsab
Ok alors il semble que les sections doivent commencer par "key=" pour le nom et pour la clé...
je pense avoir trouvé une routine intéressante ci-dessous :

Code: Tout sélectionner
004016D0  /$ 55             PUSH EBP
004016D1  |. 8BEC           MOV EBP,ESP
004016D3  |. 53             PUSH EBX
004016D4  |. 8B45 08        MOV EAX,DWORD PTR SS:[EBP+8]
004016D7  |. 8D50 03        LEA EDX,DWORD PTR DS:[EAX+3]
004016DA  |> 8B18           /MOV EBX,DWORD PTR DS:[EAX]
004016DC  |. 83C0 04        |ADD EAX,4
004016DF  |. 8D8B FFFEFEFE  |LEA ECX,DWORD PTR DS:[EBX+FEFEFEFF]
004016E5  |. F7D3           |NOT EBX
004016E7  |. 23CB           |AND ECX,EBX
004016E9  |. 81E1 80808080  |AND ECX,80808080
004016EF  |.^74 E9          \JE SHORT Crackme_.004016DA
004016F1  |. F7C1 80800000  TEST ECX,8080
004016F7  |. 75 06          JNZ SHORT Crackme_.004016FF
004016F9  |. C1E9 10        SHR ECX,10
004016FC  |. 83C0 02        ADD EAX,2
004016FF  |> D0E1           SHL CL,1
00401701  |. 1BC2           SBB EAX,EDX
00401703  |. 5B             POP EBX
00401704  |. C9             LEAVE
00401705  \. C2 0400        RETN 4



Je continue !!

Re: Besoin d'aide pour crackme

MessagePosté: 04 Février 2019, 23:06
par lovsab
OK !!!!

C'est bon j'ai trouvé une correspondance avec un alphabet créé dans une routine et j'ai enfin entendu la musique tant attendue :lol:

SUJET RESOLU

Re: Besoin d'aide pour crackme

MessagePosté: 05 Février 2019, 09:55
par Hao
Salut. C'est cool les sujets qui se résolvent tout seul. :mrgreen:
Bien joué ! :)

Re: Besoin d'aide pour crackme

MessagePosté: 12 Février 2019, 14:28
par rahan76f
Salut,

tu peux peut être faire un tuto (si tu as le temps) ou expliquer comment tu as fait cela peut aider plusieurs d'entre nous ;-) ou d'entre les autres ol

a plus

Rahan