[R] _MemoryPointerRead

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Prorag
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mar. 05 avr. 2011 04:05
Localisation : France
Status : Hors ligne

[R] _MemoryPointerRead

#1

Message par Prorag »

Salut!
J'ai un problème avec cette fonction : _MemoryPointerRead
Voici mon script :
► Afficher le texte
Le script ne plante pas mais me donne des mauvaises valeurs :/
J'ai traduit les Hex en Dec

Code : Tout sélectionner

                                        Dim $Offset[6]
                     $Offset[0] = 'NULL'
                     $Offset[1] = '48'
                     $Offset[2] = '24'
                     $Offset[3] = '604'
                     $Offset[4] = '96'
                     $Offset[5] = '840'
 
PS : http://www.hostingpics.net/viewer.php?i ... 3win32.png
Modifié en dernier par Prorag le mer. 23 oct. 2013 15:44, modifié 1 fois.
mica2727
Niveau 4
Niveau 4
Messages : 82
Enregistré le : jeu. 03 oct. 2013 17:32
Status : Hors ligne

Re: [...] _MemoryPointerRead

#2

Message par mica2727 »

Bonjour,

Si tu veux qu'il t'aide ( je suppose ) que tu dois aussi indiquer ton fichier .au3.
Car quand je regarde sur Scite c'est un fichier externe, que tu as trouver sur le web et le rajouter.

Donc on ne peut pas deviné le code source, ni ta fonction qui géne puis-ce qu'ont ne la pas.
Avatar du membre
Prorag
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mar. 05 avr. 2011 04:05
Localisation : France
Status : Hors ligne

Re: [...] _MemoryPointerRead

#3

Message par Prorag »

Voila :
NomadMemory.au3
► Afficher le texte
mica2727
Niveau 4
Niveau 4
Messages : 82
Enregistré le : jeu. 03 oct. 2013 17:32
Status : Hors ligne

Re: [...] _MemoryPointerRead

#4

Message par mica2727 »

Heum...
" AutoIt Version: 3.1.127 (beta) "

( selon moi ) ce seras pas une fonction qui n'existe pu par rapport à la nouvelle version d'autoIt ? ou qui a changer... Mais ce n'est pas moi qui peut t'aider, enfin je t'aide pour que tu apportes des compléments d'informations pour que les autres puissent t'aider :) ( en tant que novice ).
Avatar du membre
Prorag
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mar. 05 avr. 2011 04:05
Localisation : France
Status : Hors ligne

Re: [...] _MemoryPointerRead

#5

Message par Prorag »

J'en sais rien mais plus j'avance plus je me rend compte qu'Autoit est super limité quand même pff...
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [...] _MemoryPointerRead

#6

Message par Tlem »

Je ne sais pas si ça peux aider, mais voici un sujet qui parle de lecture mémoire à un offset déterminé.
Il est clair que l'UDF NomadMemory.au3 me semble dépassé par rapport à la version d'AutoIt.

http://www.autoitscript.com/forum/topic ... ad-offsets
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Prorag
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mar. 05 avr. 2011 04:05
Localisation : France
Status : Hors ligne

Re: [...] _MemoryPointerRead

#7

Message par Prorag »

Cela fait maintenant presque 1 semaine que je cherche!
J'ai regardé pas mal de forum sur Google rien ne fonctionnent.
Il semblerait que la fonction _MemoryPointerRead soit maintenant obsolète.
Impossible d'avoir la valeur d'une adresse depuis un pointer de base (vert) s'il y a plus d'un offset.
Je crois que la fonction _MemoryPointerRead a du mal à fonctionner quand il y a plusieurs offset...
Alors comment faire?
Avatar du membre
Prorag
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mar. 05 avr. 2011 04:05
Localisation : France
Status : Hors ligne

Re: [...] _MemoryPointerRead

#8

Message par Prorag »

up :/
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] _MemoryPointerRead

#9

Message par Tlem »

Bonjour Prorag
Je n'ai pas le temps ce matin de faire des tests, mais voici quelque chose qui me semble intéressant pour vous :
http://www.autoitscript.com/forum/topic ... memory-udf
http://www.autoitscript.com/forum/topic ... try1118563

Et éventuellement ceci :
http://www.autoitscript.com/forum/topic ... rom-memory

Bonne journée.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Prorag
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mar. 05 avr. 2011 04:05
Localisation : France
Status : Hors ligne

Re: [..] _MemoryPointerRead

#10

Message par Prorag »

J'ai déjà vu tout ça avant de venir ici.
Mlheuresement ce sont des vieux posts et cela ne fonctionne plus(ou pas de la même manière).
Il me faudrait une fonction qui fonctionne (Lol) de la sorte :
je lui donne l'adresse de base il me ressort le premier pointeur, de ce premier pointer plus le premier offset il me donne le second pointer de ce second pointer plus le second offset il me donne le 3 pointer etc...
Pour où final arriver au dernier et me donner l'adresse dynamique allouée et de la jutilise MemoryRead pour avoir la valeur dans ce mémoire dynamiquement alloué par l'adresse de base.Je pense que ça marche comme ça.

http://www.hostingpics.net/viewer.php?i ... 3win32.png

L'adresse de base nous donne le 1er pointer -> 003EA930
de la ou ajoute le 1er offset : 30. 003EA930 ce qui pointe ver le 2eme offset : 003EA930+30 pointer vers : 0371E6E0
et ainssi de suite..
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] _MemoryPointerRead

#11

Message par Tlem »

Prorag a écrit :Mlheuresement ce sont des vieux posts
Heuuu :shock:
http://www.autoitscript.com/forum/topic ... ntry955549 date de Janvier 2012 !
Hors l'actuelle version d'AutoIt date de du 23 décembre 2011 avec un tout petit correctif le 29 Janvier 2012 qui nous donne la version 3.3.8.1. Donc le script écrit dans le lien ci-dessus doit fonctionner.

En lisant ceci :

Code : Tout sélectionner

$StaticOffset = Dec("27E8C")

$baseADDR = _MemoryModuleGetBaseAddress($PID, $sModule)
$finalADDR = "0x" & Hex($baseADDR + $StaticOffset)

$r = _MemoryRead($finaladdr,$openmem)
$r = _MemoryRead($r + 0x798,$openmem)
$r = _MemoryRead($r + 0x504,$openmem)
$r = _MemoryRead($r + 0x14,$openmem)
$r = _MemoryRead($r + 0x8,$openmem)
$r = _MemoryRead($r + 0x40,$openmem, "float")
ça me fait terriblement penser à ce que vous voulez faire. Surtout la dernière partie qui ressemble bien à la lecture d'offsets en donnant le décalage de chaque bloc mémoire. :mrgreen:

Maintenant, il est vrais qu'il est fait état de NomadMemory2.au3, surement une version modifiée de NomadMemory.au3 par l'ajout de la fonction _MemoryModuleGetBaseAddress() et une mise à jour de la fonction _MemoryGetBaseAddress() pour fonctionner en 3.3.8.0 ainsi que de quelques autres fonctions tel que décrit dans le message de 'seeker'. :roll:
seeker a écrit :Also note adding the Int code around the DllStructGetData code in other places in the NomadMemory.au3 will make those functions work as well in AutoIt v3.8.8.0 . So far I have tested that the _MemoryGetBaseAddress and _MemoryRead functions need the change, most other functions work correctly -- I have to however test the pointer functions.
► Afficher le texte
Après, vous parlez aussi d'un comportement particulier ou de résultats incorrects. Mais avec la fonction ci-dessus, les éléments précédents et la phrase ci-dessous qui provient d'ici, je pense que vous devriez y arriver :
JohnOne a écrit :address + 1byte
Edit :
Sinon, comme le dit FireFox ici, vous pouvez utiliser KryMemory.au3.

Edit2 : Je rajoute à ce message en pièce jointe une possible version de NomadMemory2.au3 et l’excellent KryMemory.au3
.
Fichiers joints
kryMemory.au3
L'excellent UDF de KryziK (Amélioration de NomadMemory.au3).
(28.12 Kio) Téléchargé 183 fois
nomadMemory2.au3
Version modifiée de NomadMemory.au3 qui devrait peut être fonctionner sur AutoIt 3.3.8.1
(23.64 Kio) Téléchargé 155 fois
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Prorag
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mar. 05 avr. 2011 04:05
Localisation : France
Status : Hors ligne

Re: [..] _MemoryPointerRead

#12

Message par Prorag »

OKay!!!!!!!!!!
Ca marche !
► Afficher le texte
Il nous faut l'adresse de base et une foi que l'on a l'adresse de base il faut juste utiliser cette fonction :

Code : Tout sélectionner

_Process_ReadMemoryPointer
et voilà le tour est joué si vous avez des questions....
Merci!
Modifié en dernier par Prorag le mer. 23 oct. 2013 23:16, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] _MemoryPointerRead

#13

Message par Tlem »

Un merci, ça fait toujours plaisir ... :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Prorag
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mar. 05 avr. 2011 04:05
Localisation : France
Status : Hors ligne

Re: [R] _MemoryPointerRead

#14

Message par Prorag »

De rien.
Répondre