Classe pour lire/modifier la memoire de n'importe quel processus

Soyez le premier à donner votre avis sur cette source.

Vue 10 996 fois - Téléchargée 1 527 fois

Description

C'est une classe qui permet de :
-lire dans la mémoire de n'importe quel processus des octets à partir d'un offset précisé
-écrire dans la mémoire du processus ce que l'on veut
-rechercher une string dans la mémoire du processus
-accessoirement lister les plages mémoires du processus

Il est donc ainsi tout à fait possible de rechercher une string, d'en déterminer l'offset dans la mémoire, puis de remplacer cette string par ce que vous voulez !

Dans cette source, un exemple qui montre l'utilisation de la classe : il s'agit de rechercher une string qui est affichée dans une textbox, de la remplacer pour une autre string que l'on a choisie, et de voir que le contenu de la textbox sera modifié au prochain rafraichissement...

A noter que vous pouvez essayer de modifier n'importe quoi dans vos processus en mémoire, mais certaines zones sont lockées.

Attention à ce que vous faites ! Vous avez en effet accès aux processus système de votre machine (si vous êtes admin il me semble)... donc gare aux crashs si vous tripotez n'importe quoi !
Je ne suis bien sur pas responsable des problèmes que vous pourriez rencontrer en éditant la mémoire de vos processus ^^

A noter également que dans le cas de recherche de string, plus la string que vous voulez rechercher en mémoire est longue, plus la recherche est rapide. Mais de toutes manières, la recherche est ultra rapide (ne cherche que dans les zones utilisées par le processus).

A quoi sert tout çà ?? Dans mon cas c'est une partie de mon éditeur hexa, qui est capable d'éditer les processus en mémoire.
Mais autrement, çà peut servir..... pour faire un trainer par exemple... ^_-

Source / Exemple :


'tout dans le zip

'très commenté

Conclusion :


Note : il faut COMPILER LE PROJET
J'oblige à le faire, mais ce n'est absolument pas nécessaire dans l'utilisation de la classe en elle même je vous rassure (voir remarque en commentaire pour comprendre).

Ceci est encore une classe qui fait partie de mon projet, mais çà me semble utile quand même de la poster séparement.

SVP, notez, et commentez !
Merci, @+

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
109
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
2 février 2012
3
Mortel
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
1
Bonjour,
cela est possible (exemple avec l'éditeur de RAM physique de Winhex), mais j'avoue que je ne sais pas comment...
En VB6 çà parait compliqué en tout cas.

Bon courage (si tu trouves, je suis intéressé)
@+
Messages postés
38
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
9 décembre 2008

Bonjour,
Tout d'abord, bravo. Cette source est vraiment super. Du travail de pro (tu en es un, je suppose).
Est-ce que quelqu'un saurait s'il y a moyen de lire/écrire dans n'importe quel espace mémoire (même non alloué à un processus)?
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
7
Pire que ça, les antivirus modifient le noyau nt pour contrôler les accès mémoires, c'est d'ailleurs un grand sujet de discussion autour de Vista et la nouvelle technologie PathGard empêchant ces modifications du noyau.
Messages postés
142
Date d'inscription
jeudi 10 juillet 2003
Statut
Membre
Dernière intervention
10 novembre 2007

A priori non, étant donné que ton antivirus doit fonctionner avec des hooks sur apis (via driver à mon avi), sur les fonctions NT..
Et donc même avec des privilèges, l'antivirus détectera quand même les appels aux api.
Daetips
Afficher les 19 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.