Newbies11 |
||
Data |
by "Guzura" |
|
25/05/2002 |
Published by Quequero |
|
In un mondo di mistero e magia, una strega e un valoroso guerriero, partiranno per un viaggio infinito lo sai, riusciranno a scoprire i segreti che hai !!!! |
Qualche SUO... eventuale commento sul tutorial :))) Beh questa moda di scrivere nella MIA MODESTISSIMA E PICCOLISSIMA AREA DEDICATA AI MIEI COMMENTI ve la dovete scordare :) oh...manco qui dentro sono libero di dire cio' che voglio??? argh irrispettosi :) |
Questo è GURU GURU un magico mondo, GURU GURU magico e tondo, GURU GURU è un girotondo e se guardi dentro al cerchio la magia poi riuscirà !!! MEKE MEKE. |
.... |
|
Guzura.... |
Difficoltà |
(X)NewBies ( )Intermedio ( )Avanzato ( )Master |
|
Dato che a spiegare i trick ci ha pensato benissimo Andreageddon ne approfitto per far vedere come il programmino valuta i messaggi WM_COMMAND e WM_INITDIALOG.
Introduzione |
Tools usati |
URL o FTP del programma |
Notizie sul programma |
Essay |
0040117F Table: ; CODE
XREF: .text:004010D0j
0040117F add eax, 0FFFFFEEFh
00401184 cmp eax, 0F1h ; DEVE ESSERE 111 WM_COMMAND
00401189 ja JumpRegKey
0040118F xor ecx, ecx
00401191 mov cl, byte ptr ds:TabVal[eax]
00401197 jmp ds:TavolaAddress[ecx*4]
Quello che veramente mi interessa è avere ECX=0 in maniera tale da effettuare il salto in JumpOK (dove si trova il check di correttezza) cioè al primo indirizzo di TavolaAddress.Visto add e il cmp il valore che deve avere EAX è 111 ma uno potrebbe chiedersi da dove arriva quel'111 in eax?
Torante un po su e arrivate belli belli in 4010D0 proprio all'inizio della DlgProcFunction della DialogBox; se avete poca dimestichezza ve ne accorgete vedendo che questo è l'indirizzo passato all'API CreateDialogParamA come 4 parametro alla locazione 401020.
E QUI
DlgProcFunction: ; DATA
XREF: _WinMain@16+20o
004010C0 mov eax, [esp+8]; Vediamo che in EAX è caricato l' uMsg
che definisce il tipo di messaggio mandato
004010C4 sub esp, 10h
Il primo CMP verifica che il messaggio sia WM_INITDIALOG (che è un messaggio che viene spedito una volta solo al momento della creazione della DialogBox), se non lo è salta alla Tavola degli indirizzi 40117F(esegue Ja Table dove va a verificare che altro tipo di segnale può essere arrivato).
004010C7 cmp eax, 110h ; WM_INITDIALOG
004010CC push ebx
004010CD push ebp
004010CE push esi
004010CF push edi
004010D0 ja Table
004010D6 jz short WM_INITDIALOG ;
004010D8 sub eax, 0Fh
004010DB jz JumpIsZoomed
004010E1 dec eax
004010E2 jz loc_40128E
004010E8
004010E8 JumpRegKey: ; CODE XREF: .text:00401189j
004010E8 ; DATA XREF: .text:00401330o
...
004010F4 push offset aUic ; "UIC"
004010F9 push 80000001h ; HKEY_CURRENT_USER
004010FE call ds:RegOpenKeyExA
00401104 test eax, eax
00401106 jnz short loc_40110F
...
00401118 retn 10h
0040111B ; ---------------------------------------------------------------------------
0040111B
0040111B WM_INITDIALOG: ; CODE
XREF: .text:004010D6j
0040111B cmp word_407568, 7CDh ; ANNO A POSTO
00401124 jnz short Valuta_File
00401126 or byte ptr KeyValue, 1
0040112D
0040112D Valuta_File: ; CODE XREF: .text:00401124j
0040112D call sub_401440
...
Note finali |
Saluto tutti quelli che mi conoscono.
Disclaimer |
Que vuole ricordare le seguenti cose: grazie gu per avermi ricordato che ero io a ricordarvi queste cose :) Que
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.
(Condivido) Capitoooooooo????? Bhè credo di si ;))))