[C++] Memory Scanner

  • Thread starter Membre supprimé 245833
  • Start date

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Status
Not open for further replies.
M

Membre supprimé 245833

Bonjour, depuis aujourd'hui. J'essaye de créer mon propre Memory Scanner en C++, car les code source sur internet ne sont, je dirai, assez compliqué pour mon niveau ^^

J'ai donc fait mon code, mais j'ai trouvé qu'il était hyper long.
Mais quand je dis hyper long, c'est genre toute la mémoire en 1 heure(Exagéré).

Donc je vous donne le code:
PHP:
	 DWORD pId;
				 pId = GetCurrentProcessId();
				 int fromAddress;
				 int toAddress;
				 fromAddress=0x00400000;
				 toAddress=0x7FFFFFFF;
				 HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pId);
				 /*HWND hWnd = FindWindow(0, "AssaultCube");
				 DWORD pId; 
				 GetWindowThreadProcessId(hWnd,&pId); 
				 HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pId);*/
				 for (int i = fromAddress; i < toAddress; i++)
				 {
					 DWORD value;
					 DWORD searchValue;
					 DWORD bytesRead = 4;
					 searchValue=Convert::ToInt32(textBox1->Text);
					 ReadProcessMemory(hProc,(int*)(i),&value,sizeof(int),&bytesRead);
					 if (value==searchValue)
					 {
						 listBox1->Items->Add(value.ToString("X"));
					 }
				 }

J'essaye de scan la mémoire, et d'ajouter les adresses qui ont pour valeur la valeur entrée dans la TextBox.
Si vous pouviez m'aider. Merci d'avance ;)
 

Cyrion

._.
V
Ancien staff
Jul 8, 2010
2,524
2
944
www.bufferoverflow.fr
Tu fais ça en interne ou externe ? Car c'est sur que si tu lis toute la mémoire de ton pc , ça peut prendre un certain temps. xD

J'imagine que tu veux lire la mémoire du programme précis non ?
 

Evaelis

La Voix de la Sagesse
V
Ancien staff
Apr 28, 2010
22,949
468
1,699
Valhalla
Il lis un seul processus, mais bizarrement les codes de M**H vont plus vite =D
 
M

Membre supprimé 245833

Je lis un seul processus, j'ai décidé de lire toute la mémoire. Mais j'pense que j'vais chercher entre quelle adresse(Start) et quelle adresse(Stop) est comprise la valeur pour essayer de réduire le temps du scan.
J'ai essayé de chercher sur le site, mais à vrai dire, j'ai dû mal à comprendre. Ils utilisent le VirtualQuerryEx, nop ?
 

Nayres

Membre Banni
Apr 15, 2012
3,431
0
341
Quelque part.
Premièrement, pourquoi ne crées tu pas une fonction pour faire ce que tu veux au lieu de répéter les définitions de variables, puis essaies de lire plusieurs block de mémoire en même temps, 2048 par exemple il y à aussi des lignes useless dans ton code.

Virtualquerry te permet de filtrer les address que tu liras celon les flags ou protection par exemple pour éviter de lire les fonctions non lisible.
 
Last edited:
Status
Not open for further replies.