Hex Workshop 4.23 | ||
Data |
by bender0 |
|
gg/mese/aaaa |
Published by Quequero | |
"?" |
Grazie bend, la prossima volta pero' voglio un tute piu' complesso :p |
"!" |
.... |
|
.... |
Difficoltà |
(X)NewBies ( )Intermedio ( )Avanzato ( )Master |
una protezione veramente stupida.
Introduzione |
Tools usati |
URL o FTP del programma |
Notizie sul programma |
Essay |
.text:100025B0 B-L proc near .text:100025B0 .text:100025B0 var_4 = byte ptr -4 .text:100025B0 .text:100025B0 push ebx .text:100025B1 xor bl, bl .text:100025B3 call sub_10002570 .text:100025B8 mov eax, off_100231A8 .text:100025BD test eax, eax .text:100025BF jz short esci_0 .text:100025C1 mov eax, offset off_100231A8 .text:100025C6 push esi .text:100025C7 mov esi, eax .text:100025C9 lea esp, [esp+0] .text:100025D0 .text:100025D0 strcmp_loop: .text:100025D0 mov eax, [eax] ; carica una stringa .text:100025D2 push eax ; stringa1: ??? .text:100025D3 push edi ; stringa2: il nostro serial .text:100025D4 call strcmp ; confronta il serial con una stringa .text:100025D9 add esp, 8 .text:100025DC test eax, eax .text:100025DE jnz short esci_1 ; se sono uguali ritorna 1 .text:100025E0 mov ecx, [esi+4] .text:100025E3 add esi, 4 ; prossima stringa .text:100025E6 test ecx, ecx .text:100025E8 mov eax, esi .text:100025EA jnz short strcmp_loop .text:100025EC pop esi .text:100025ED mov al, bl ; tutte diverse, ritorna 0 .text:100025EF pop ebx .text:100025F0 retn .text:100025F1 ; --------------------------------------------------------------------------- .text:100025F1 .text:100025F1 esci_1: .text:100025F1 pop esi .text:100025F2 mov al, 1 .text:100025F4 pop ebx .text:100025F5 retn .text:100025F6 ; --------------------------------------------------------------------------- .text:100025F6 .text:100025F6 esci_0: .text:100025F6 mov al, bl .text:100025F8 pop ebx .text:100025F9 retn .text:100025F9 B-L endpse questa funzione ritorna 1 molto codice viene saltato e Sleep è chiamata con un timeout di 100 msec per 10 volte; poi la funzione esce ritornando 2 (che non mi sembra il tipico valore da serial corretto). abbiamo capito che il nostro serial non deve comparire in quella lista, lista che contiene le seguenti 5 stringhe:
Note finali |
o programmatori shareware, in futuro non donateci le chiavi dei vostri software assieme ad essi, ma dateci un margine di reversing, anche noi dobbiamo divertirci!
ovviamente per chiarimenti, migliorie o correzioni mandatemi una mail.
ci vediamo al prossimo essay... bye.
bender0
Disclaimer |
Vorrei ricordare che il software va comprato e non rubato, dovete registrare il vostro prodotto dopo il periodo di valutazione. Non mi ritengo responsabile per eventuali danni causati al vostro computer determinati dall'uso improprio di questo tutorial. Questo documento è stato scritto per invogliare il consumatore a registrare legalmente i propri programmi, e non a fargli fare uso dei tantissimi file crack presenti in rete, infatti tale documento aiuta a comprendere lo sforzo immane che ogni singolo programmatore ha dovuto portare avanti per fornire ai rispettivi consumatori i migliori prodotti possibili.
Noi reversiamo al solo scopo informativo e di miglioramento del linguaggio Assembly.