HighGrow |
|
|
Data |
by "GuZuRa" |
|
Published by Quequero |
||
| Chi sa soffre... | Altra buona soluzione sull'HighGrow con spiegazione per raggiungere il GOD MODE :) |
Chi non sa soffre di più |
| UIC's form |
|
UIC's form |
Difficoltà |
(X)NewBies ( )Intermedio ( )Avanzato ( )Master |
Introduzione |
Tools usati |
WDasm32 e un qualsiasi EDITOR dei Registri di Windows
URL o FTP del programma |
Se siete qui sapete dov'è ;)
Notizie sul programma |
Erba? Chi può scrivere un programma sull'erba? Una Mucca? Lo ho dato a mio zio che con le tecniche descritte ha tirato su dell'erba medica eccezionale
Essay |
Inserito il seriale giusto (questo non sto a spiegarlo perchè ho usato lo stesso
metodo del tutorial originale di Que e sarebbe plagio) ho deciso di attivare il GOD MODE a
cui era stato accennato nel tutorial di cui sopra (io ci sono riuscito e sono newbie
quindi provate anche voi prima di proseguire).
Ora va fatta una premessina, dato che sono un pigro cronico dopo aver registrato il
programma con il serial opportuno non mi sono preoccupato di andare a vedere tutte le
opzioni che il programma offriva e quindi non ho visto che si poteva abilitare una
password per impedire agli altri di giocare con le nostre piantine e di conseguenza ho
pensato che per abilitare il GOD MODE bisognasse attivare una finestra nascosta e dare una
password.
Aprite lo string data reference (do per scontato che abbiate letto il tut su questo
programma di QUE) scorrendo scorrendo trovate la seguente stringa: "Invalid
password entered !!"cliccate due volte e vi ritrovate all'offset :4073f8
guardate due righe giù. Una MessageboxA vi attende! Incominciamo a risalire il codice per
vedere chi chiama chi; troviamo che il seguente codice che riguarda la messageboxa è;
referenziato dal seguente salto non condizionato:
* Jump Unconditional :4073E6(U)
subito a vedere questo salto dove sta e magia delle magie si trova ( che CULO trovo la
routine che controlla se la password che ho immesso sia corretta (ed è una routine del
tutto identica a quella che controlla che il seriale per la registrazione sia giusto) ma
ora mi viene un dubbio; dove cazzo va a pescare una password se non ho il modo di
immetterla (ricordate che non ho guardato le opzioni del programma e quindi non avevo idea
di questa possibilità
sono pigro) continuo a risalire per vedere dove piglia sta
password risalgo fino a :004073A4 che è referenziato da un salto condizionato che arriva
da :40738F e su ancora fino a :0047380 che arriva da una CALL a 40075B3 salgo fino alla
CALL e trovo che devo andare a 4075A4 che mi manda a :407536 poi a :407521 per arrivare a
finire a :407500 dove non trovo più niente perchè WDasm32 non riesce a referenziare una
chiamata del tipo "CALL esi " infatti dopo la sfilza di int3 trovo una ret (non
mi sono preoccupato dei salti intermedi perchè; non mi inspiravano INTUIZIONE E UN PO' DI
CULO) ma sono arrivato a un punto morto.
Non proprio avete fatto caso alla routine che fa il check sulla password; ci dice
esattamente in quale locazione sta la password; andiamo a vedere (a :004073C3 se non
ricordate) e vediamo che c'è un bel mov edx,00426590 dove edx è confrontato con eax
nella routine che verifica la password ma questo dovreste già saperlo ;))) Ora si fa un
bel Find text con la stringa 00426590 per vedere cosa salta fuori (la curiosita talvolta
aiuta); infatti ogni volta che WDasm32 trova la stringa lì vicino ci stanno anche
le seguenti "Possible string data ref" :1 volta c'è Password, 2 volte c'è
IAMGOD (molto interessante, scorgete il codice sotto e trovate sotto ognuna delle stringhe
IAMGOD un check che confronta la stringa stessa con quella che inserite: quindi DUE
check) e 1 volta il seriale poi altre cose.
Anche il seriale mmmmmhhhhhh
Colpo di CULO e un pizzico di INTUIZIONE, e sono a guardare i registri di windows dove
credo ci sia il seriale.
Piglio il mio register editor (uso quello della Norton) e scopro che c'è nè uno per il
seriale e uno per il Nick che ho usato per registrare il programma.
Ideona e colpo di culo, inserisco io un nuovo registro chiamato Password (come era apparso
dalla ricerca della stringa 00426590) con un valore a caso e vado a vedere Amelia e
Cordelia (le mie piantine).
Riavvio il programma e BAM schermata che mi chiede la password (che coglione mi sono
escluso da solo MA ORA TUTTO E CHIARO) chiudo tutto vado alla routine che verifica la
password (quella di prima) trovo l'offset esadecimale dell'istruzione (se non sapete come
fare leggete il tutorial n° 2 per newbies di Tin_Man: eccezionale e chiaro) apro Hiew e
vado a noppare i JNE ( che stanno dopo i confronti tra cl e byte ptr
) così la
password non è comunque più un problema
Il codice modificato è questo:
:004073C8 mov cl, byte ptr [eax]
:004073CA cmp cl, byte ptr [edx]
:004073CC nop (opcode 90h lo so lo sapete già; ma quando io non lo sapevo nessuno me lo
diceva)
:004073CD nop
:004073CE or cl,cl
:004073D0 nop
:004073D1 nop
:004073D2 mov cl, byte ptr [eax+01]
:004073D5 cmp cl, byte ptr [edx+01]
:004073D8 nop
:004073D9 nop
:004073DA add eax,00000002
... Tanto e sempre la stessa quindi non la spiego lo ha fatto meglio
[Paradox Evil]
Apro il programma ed entro
AH IL GOD MODE beh dovreste averlo capito da soli dato che la stringa IAMGOD si trovava
vicino ai check per la password cosa dovrete inserire secondo voi come Password? Chiudete,
riaprite et voilà.
Ultima Nota vi ricordate i DUE CHEK per controllare se la stringa IAMGOD era uguale all
password? Dato che la routine che fa il controllo è uguale a quella del seriale e della
password potreste pensare di far saltare anche quelle e attivare il god mode con qualsiasi
password
Con questo ho finito ciao a tutti da GuZura
|
Conclusioni se avessi guardato meglio il programma e mi fossi accorto della
possibilità di settare la password mi sarei risparmiato la meta del lavoroma l'esperienza
insegna
Una riga per salutare tutti coloro che rispondono alle mie richieste di aiuto sulla ML
Disclaimer |
| UIC's page of reverse engineering, scegli dove andare: |
| Home Anonimato Assembly CrackMe ContactMe Forum Iscrizione |
| Lezioni Links Linux NewBies News Playstation |
| Tools Tutorial Search UIC Faq |
| UIC |