|
|
|
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