Bonjour,
j'adore l'asm, sa fluidité, son agilité a pacourir les registres, sa rudesse et sa capacité à obeir au doigt et a l'oeil. Je connais le c++, plus moins que plus. mais mieux que l'asm.
Passons au chose passionante, par rapidité et souci de voir un résultat prompt et correct j'ai codé un bout de code en c++, le voici:
#include <windows.h>
int main(void)
{
// On crée la structure startupinfo
STARTUPINFO startupinfo;
// On la rempli avec des 0
memset (&startupinfo, 0, sizeof (STARTUPINFO)) ;
// on indique a la structure sa taille
startupinfo.cb = sizeof(startupinfo);
// On crée la structure process
PROCESS_INFORMATION process;
// On la rempli avec des 0
memset (&process, 0, sizeof (PROCESS_INFORMATION)) ;
// La ou on va placer la portion de memoire lu
char memread[1];
// Si on passe des arguments
char* cmdline;
// on recupere les arguments
cmdline = GetCommandLine();
// on crée le proces
if (CreateProcess("LogTarget.exe", cmdline, NULL, NULL,FALSE, NORMAL_PRIORITY_CLASS,NULL, NULL, &startupinfo, &process))
{
// On ecrit dans la memoide du grog
WriteProcessMemory (process.hProcess, (LPVOID)0x401016, "\x90", 1, NULL);
WriteProcessMemory (process.hProcess, (LPVOID)0x401017, "\x90", 1, NULL);
// On a plus besoin de rien faire on ferme l'handle
// pas le prog juste l'handle
CloseHandle (process.hProcess);
CloseHandle (process.hThread);
}
else
{
// on a pas pu l'ouvrir
MessageBox(NULL, "Erreur Imposible d'ouvrir Crackme.exe", "Erreur", MB_OK|MB_ICONERROR);
exit(-1);
}
return 1;
}
Je me suis inspiré evidement pour ceux qui reconnaisse, donc ce que je souhait par dessus tout c'est reecrire ce code en assembleur Win32. Pourriez vous m'aider svp c'est important pour moi.
Je pense qu'après cela je serais plus complet.
Je commence evidement dès ce soir.
Merci par avance
P.S: ce qui m'embete c'est pas trop les appels de fonction evidement et le passage en pile de leur argument, c'est entre autre quelques details, la traduction du de la fonction memset.