[C++]AoB Scan

    Publicités

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

Nayres

Membre Banni
Apr 15, 2012
3,431
0
341
Quelque part.
Bonjour à tous et à toutes, donc voilà puisque le nom du topic vous a attiré vous serez sûrement intéressé par la suite bref commençons.

Introduction
- La fonction FindPattern, comment son nom l'indique est une fonction qui permet de rechercher l'addresse d'une signature ou AoB que vous avez.

Fonction | Explication
Tous d'abord voici notre fonction
PHP:
 // La fonction n'est aucunement créé par moi 
BOOL bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
	for(;*szMask;++szMask,++pData,++bMask)
		if(*szMask=='x' && *pData!=*bMask) 
			return false;
	return (*szMask) == NULL;
}

DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
{
	for(DWORD i=0; i < dwLen; i++)
		if( bCompare((BYTE*)(dwAddress+i),bMask,szMask))
			return (DWORD)(dwAddress+i);
	return 0;
}

Comme vous avez vu la fonction a 4 paramètres :
PHP:
(DWORD dwAddress,
DWORD dwLen,
BYTE *bMask,
char * szMask)

Je ne vais quand même pas vous laisser sans explications !

PHP:
DWORD dwAddress, DWORD dwLen // Le block de mémoire qu'on va scan, évitez de scanner toute la mémoire (très déconseillé)

PHP:
BYTE *bMask // Array of byte

PHP:
char * szMask // Ici on représente les bytes statique par un X, et les dynamiques par un ? .

Exemple
PHP:
FindPattern(0x00400000, 0x7FFFFFFF, (PBYTE)"\x65\xB5\46\CC\CC", xxxxx); // Bytes donnés aux hasard.

Voici la fin de ce tutoriel, j’espère que ce tutoriel vous servira pour vos prochains projets.​
 
Last edited: