jle 0047BD72 ---> diventa jmp 0047BD72
2) Poi rimaneva il problema della fastidiosissima scritta: Versione Demo rimangono
tot minuti, che appare ogni tanto sullo schermo... Guardando il codice ho notato
che potevo noppare i vari push che mettevano nello stack i due pezzi della
scritta. Però osservando meglio il codice nella parte precedente ho notato
un confronto (a 00479A0B) identico a quello che determinava la presenza della
scritta "Versione Dimostrativa" invece di quella "Tele-PC Terminal - Licenza
per "Nome inserito in registrazione" (che vedremo al punto 3). Infatti il codice
si presentava così:
:00479A01
mov eax, dword ptr [ebp-04]
:00479A04
cmp byte ptr [eax+00000400], 00
:00479A0B 0F849C000000 --> diventa E99D000000
je 00479AAD ---> diventa jmp 00479AAD
Stranamente il salto (jump near if equal) punta all'indirizzo subito dopo il
codice per la visualizzazione della schermata Versione Demo rimangono tot minuti
=). La cosa più logica da fare è cambiare questo jump con uno incondizionato
(jmp) per non fare comparire quella scritta in nessuna occasione. C'è da notare
che in eax vengono messi i minuti trascorsi, i quali, se sono pari a zero fanno
"capire" al programma che il programma è registrato in quanto non è partito
il conto dei minuti trascorsi dall'apertura dell'inizio della connessione.
(Quanto detto qui vale anche per le scritte in alto).
3) Anche la scritta in alto "Versione Demo" era fastidiosa... Sempre con il
metodo delle stringhe ho trovato la parte di codice relativa alla visualizzazione
di quella scritta. In realtà ce ne sono due, una quando sei connesso e l'altra
quando non lo sei... La prima dipende dal je all'indirizzo 00478DF5 che va
sostituito con un jmp. Eccone il codice:
:00478DEE cmp
byte ptr [ebx+00000400], 00
:00478DF5 7430 --> diventa EB30 je 00478E27
---> diventa jmp 00478E27
C'è da notare che così facendo il programma prende il nome inserito in "?"
--> "Registrazione..." anche se non è accompagnato dal serial o corretto. Addirittura
ho provato a inserire l'User Name senza il serial e lo prende lo stesso. Il
nome e il serial sono "salvati" (anche se non corretti) in una chiave del registro
di windows ( rispettivamente HKEY_CURRENT_USER\Software\Tele-PC\Authorization
e HKEY_CURRENT_USER\Software\Tele-PC\Authorization), ma a noi questo non interessa...
La seconda dipende dal je all'indirizzo 0046A206 che una volta sostituito con
un jmp (salto incondizionato) mostra sempre la scritta Tele-PC Terminal - Licenza
per "Nome inserito in registrazione" invece di Tele-PC Terminal - Versione
Dimostrativa. Ecco il codice:
:0047A1FF cmp
byte ptr [ebx+00000400], 00
:0047A206 740E --> diventa EB0E je
0047A216 ---> diventa jmp 0047A216
-
|GeO|
Questo è il mio primo crack, riconosco che non
è un crack ottimizzato nè molto elegante, però quello che conta è il risultato,
o no? =)
Ringrazio AndreaGeddon per la sua disponibilità, Eimiar per avermi dato qualche
dritta e tutto il canale #crack- it su AzzurraNet.
Ps: Se qualcuno riesce a capire o ha qualche idea su quale funziona usi il
programma per prendere il testo nella parte della registrazione può rendermi
partecipe della sua scoperta su #crack-it o su #traduzioni (su AzzurraNet
). Ringrazio in anticipo.
Questo readme/tutorial è solo a scopo dimostrativo/informativo,
non mi assumo nessuna responsabilità per le vostre azioni nè tantomeno per
eventuali danni causati dall'applicazione di quanto trattato qui. Se utilizzate
il programma e vi piace, compratevi la licenza, mi raccomando! =)
Noi reversiamo al solo scopo informativo e
di miglioramento del linguaggio Assembly.