Les conseils d'un EXPERT en VB.NET: Adresses Mémoires.

Langages .NET

Les conseils d'un EXPERT en VB.NET: Adresses Mémoires.


Momo94 07-04-2008, 23:43
Bonjour,

Je suis sur le développement d'une application complexe en Visual Basic .NET et je bloque sur un point précis après plusieurs jours de recherche intensives:
"les adresses mémoires"

Avec les API ReadProcessMemory et WriteProcessMemory, il est formidablement possible de lire et de modifier la valeur d'une adresse mémoire connue.
Par contre, comment faire pour rechercher une valeur dans l'ensemble des adresses mémoires d'un processus particulier ? Comment faire pour lister rapidement uniquement les adresses mémoires de ce processus ?

J'ai moi même trouvé une solution insufisante car trop barbare:
Il s'agit de faire une boucle gigantesque de l'ensemble des adresses mémoire pour dresser le tableau des adresses mémoires contenant une valeure particulière:

Dim valeuratrouver as long = 45000

...

For i As Long = 1 To 250000000
               ReadProcessMemory(current_proc_handle, i, current_out, 4, 0)
               If current_out = valeuratrouver Then
                          on ajoute la valeur a notre tableau, etc
                          ...
               End if
End for

...

Cette technique fonctionne parfaitement, mais elle peut mettre jusqu'a 5Heures pour ce type de traitement. ( Testée :d )

Voila donc ma série de question:
- Est-il possible de récupérer la plage d'adresses mémoire utilisé par un programme ?
( afin de réduire la boucle, et le temps de traitement )
- Est-il possible d'obtenir la mémoire utilisé par un programme, et si oui du quel Ko à quel Ko.
( ca pourrait peut être nous aider à dimuer la boucle )
- Est-il possible de une fonction plus rapide, par exemple qui teste avant le "ReadProcessMemory", le type de variable renvoyé pour gagner du temps. ( Integer, Long, Stingle, Double... )

Vous l'aurez compris le but de la manoeuvre est de trouver une solution alternative qui liste les adresses mémoires utilisés par un programme rapidement ou qui renvoie les plages d'adresse utilisées.

Merci infiniment à l'expert ( bah oui c'est du haut niveau la lol ) qui se penchera sur la question.

++

Re : Les conseils d'un EXPERT en VB.NET: Adresses Mémoires.


Cornellus1985 09-08-2008, 11:49
Salut,
Peut etre que ca pourra t'aider : http://www.developpez.net/forums/d411526/environnements-developpement/delphi/api-sdks/utilisation-readprocessmemory/


Sponsorisé par Community Server


Conditions d’utilisation et Copyright
Respect de la vie privée