|
|
|
22-12-1999 |
by "Quequero" |
|
|
Published by Quequero |
|
| Una luce splendente, elegante come il sol levante, apparve all' orizzonte. Arrivò silenzioso un fautore del buon umore. | Vi presento qualcosa di nuovo, un tutorial sul patching in memory di un programma packato col NeoLite, non è semplicissimo ma vi sarà comunque molto utile |
Col suo mantello color cammello scese dal ciel un uomo gaio, si posò su un albero e disse: "Miiiii sono Quequero". |
| UIC's form |
|
UIC's form |
Difficoltà |
( )NewBies (X)Intermedio (X)Avanzato ( )Master |
Ecco come si fa a crackare un programma senza averi bisogno di unpackarlo :).
Introduzione |
Advanced Zip Password Recovery è un tool compresso con il caro neolite, non è difficile da unpackare ma noi creeremo un programma che ci permetterà di crackarlo in memoria senza per questo doverlo unpackare.
Tools usati |
URL o FTP del programma |
Notizie sul programma |
Essay |
| LPCTSTR lpClassName, | // puntatore al nome della classe |
| LPCTSTR lpWindowName | // puntatore al nome della finestra |
| ); |
DWORD GetWindowThreadProcessId(
| HWND hWnd, | // handle della finestra |
| LPDWORD lpdwProcessId | // indirizzo di una variabile per l'ID del processo |
| ); |
HANDLE OpenProcess(
| DWORD dwDesiredAccess, | // flag di accesso |
| BOOL bInheritHandle, | // ereditazione dell'handle |
| DWORD dwProcessId | // process identifier |
| ); |
BOOL ReadProcessMemory(
| HANDLE hProcess, | // handle del processo nel quale dobbiamo andare a leggere |
| LPCVOID lpBaseAddress, | // indirizzo nel quale iniziare la lettura |
| LPVOID lpBuffer, | // indirizzo di un buffer nel quale piazzare i dati letti |
| DWORD nSize, | // numero di byte da leggere |
| LPDWORD lpNumberOfBytesRead | // indirizzo del numero dei byte letti |
| ); |
| LPCTSTR lpApplicationName, | // pointer to name of executable module |
| LPTSTR lpCommandLine, | // pointer to command line string |
| LPSECURITY_ATTRIBUTES lpProcessAttributes, | // pointer to process security attributes |
| LPSECURITY_ATTRIBUTES lpThreadAttributes, | // pointer to thread security attributes |
| BOOL bInheritHandles, | // handle inheritance flag |
| DWORD dwCreationFlags, | // creation flags |
| LPVOID lpEnvironment, | // pointer to new environment block |
| LPCTSTR lpCurrentDirectory, | // pointer to current directory name |
| LPSTARTUPINFO lpStartupInfo, | // pointer to STARTUPINFO |
| LPPROCESS_INFORMATION lpProcessInformation | // pointer to PROCESS_INFORMATION |
| ); |
BOOL WriteProcessMemory(
| HANDLE hProcess, | // handle del processo nel quale dobbiamo andare a scrivere |
| LPVOID lpBaseAddress, | // indirizzo nel quale iniziare la scrittura |
| LPVOID lpBuffer, | // puntatore a un buffer nel quale piazzare i dati da scriverei |
| DWORD nSize, | // numero di byte da scrivere |
| LPDWORD lpNumberOfBytesWritten | // numero attuale di byte scritti |
| ); |
|
Disclaimer |
Home
Anonimato Assembly
ContactMe CrackMe Links
NewBies News Forum Lezioni
Tools Tutorial Search