[..] Utiliser les pointeurs avec auto it ?
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[..] Utiliser les pointeurs avec auto it ?
Yop all,
J'ai un petit soucis.
J'ai l'adresse mémoire d'un programme qui n'est pas fixe (elle est dynamique), donc elle change d'un PC à l'autre, et éventuellement d'une utilisation à une autre.
De ce fait, j'aimerais utiliser un pointeur pour rendre mon programme compatible à 100% mais comment faire ?
Merci.
J'ai un petit soucis.
J'ai l'adresse mémoire d'un programme qui n'est pas fixe (elle est dynamique), donc elle change d'un PC à l'autre, et éventuellement d'une utilisation à une autre.
De ce fait, j'aimerais utiliser un pointeur pour rendre mon programme compatible à 100% mais comment faire ?
Merci.
Modifié en dernier par trust le mer. 26 août 2009 23:09, modifié 1 fois.
Re: Utiliser les pointeurs avec auto it ?
Il me semble que l'UDF Memory.au3 prend en compte les pointeurs 
- Tlem
- Site Admin

- Messages : 11816
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: Utiliser les pointeurs avec auto it ?
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é".
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é".
Re: Utiliser les pointeurs avec auto it ?
Oopla désolé^^
L4crymal, merci mais j'ai pas trouvé comment s'en servir dans la doc :s
Thx =)
-
SagePourpre
- Niveau 7

- Messages : 442
- Enregistré le : dim. 06 juil. 2008 09:11
- Status : Hors ligne
Re: [..] Utiliser les pointeurs avec auto it ?
Si c'est pour trouver le pointeur, tu peux utiliser Cheat Engine
Une fois que tu as ton pointeur, tu peux utiliser l'udf NomadMemory.au3
Il faut que tu "ouvres" la mémoire avant de faire des opération dessus
Google NomadMemory.au3 pour plus d'infos (ou cherche sur le forum anglais pour l'udf et les tutorials qui lui sont reliés.
Memoryopen
Memorywrite
Une fois que tu as ton pointeur, tu peux utiliser l'udf NomadMemory.au3
Il faut que tu "ouvres" la mémoire avant de faire des opération dessus
Google NomadMemory.au3 pour plus d'infos (ou cherche sur le forum anglais pour l'udf et les tutorials qui lui sont reliés.
Memoryopen
Memorywrite
Modifié en dernier par SagePourpre le jeu. 27 août 2009 08:35, modifié 2 fois.
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
plus belle vue du haut de son Pouf = )
Re: [..] Utiliser les pointeurs avec auto it ?
Un tricheur ?!? OOooooow PAS BIEN ! 
Re: [..] Utiliser les pointeurs avec auto it ?
Pour trouver le pointeur je sais comment m'y prendre merci^^.
J'utilise déjà NomadMemory pour modifier la valeur d'une adresse mémoire directement, mais comment modifier la valeur de l'adresse mémoire d'un pointeur ?
C'est ça ma question^^
Après pour ce qui est de la triche, je ne vois pas comment tu peux affirmer ça^^
Je crois qu'avec ce que je donne comme explication, et vu ma demande : Comment fonctionne un pointeur sous auto it ? et répondre : Bouh un tricheur...ça vole pas haut.
J'utilise déjà NomadMemory pour modifier la valeur d'une adresse mémoire directement, mais comment modifier la valeur de l'adresse mémoire d'un pointeur ?
C'est ça ma question^^
Après pour ce qui est de la triche, je ne vois pas comment tu peux affirmer ça^^
Je crois qu'avec ce que je donne comme explication, et vu ma demande : Comment fonctionne un pointeur sous auto it ? et répondre : Bouh un tricheur...ça vole pas haut.
-
SagePourpre
- Niveau 7

- Messages : 442
- Enregistré le : dim. 06 juil. 2008 09:11
- Status : Hors ligne
Re: [..] Utiliser les pointeurs avec auto it ?
??...
De la même façon ?
Si tu as le pointeur, alors modifie le pointeur directement
avec NomadMemory de la même façon que n'importe quelle adresse ...
Du moins, c'est ce que je faisais et je n'ai jamais eu de soucis...
De la même façon ?
Si tu as le pointeur, alors modifie le pointeur directement
avec NomadMemory de la même façon que n'importe quelle adresse ...
Du moins, c'est ce que je faisais et je n'ai jamais eu de soucis...
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
plus belle vue du haut de son Pouf = )
Re: [..] Utiliser les pointeurs avec auto it ?
Euuu, a ma connaissance de programmeur en C
On nous à dit que modifier la valeur d'une variable contenue par un pointeur etc etc etc était interdit par l'OS pouvant faire cracher l'application cible et même des fois Windows
On nous à dit que modifier la valeur d'une variable contenue par un pointeur etc etc etc était interdit par l'OS pouvant faire cracher l'application cible et même des fois Windows
Re: [..] Utiliser les pointeurs avec auto it ?
Je pense que c'est possible de modifier le variable d'un autre programme.
Les programme de cheat sur les jeux modifient les variables et ne font pas planter le jeux.
Tout dépens des variables que tu modifies, donc oui tu peux faire planter le programme.
Les programme de cheat sur les jeux modifient les variables et ne font pas planter le jeux.
Tout dépens des variables que tu modifies, donc oui tu peux faire planter le programme.
Re: [..] Utiliser les pointeurs avec auto it ?
Mais qui vous parle de cheat ?
Bref, L4crymal, le pointeur contient une adresse mémoire.
En C :
int *pointeur={Adresse_Memoire};
Si tu modifie le &pointeur, tu modifie l'adresse mémoire et non sa valeur.
Pour en modifier la valeur il faudrait faire :
*pointeur={Nouvelle valeur};
Je me trompe ?
Donc modifier la valeur du pointeur directement n'est pas un probleme, il faut juste faire attention à ne pas modifier l'adresse mémoire.
Bref, L4crymal, le pointeur contient une adresse mémoire.
En C :
int *pointeur={Adresse_Memoire};
Si tu modifie le &pointeur, tu modifie l'adresse mémoire et non sa valeur.
Pour en modifier la valeur il faudrait faire :
*pointeur={Nouvelle valeur};
Je me trompe ?
Donc modifier la valeur du pointeur directement n'est pas un probleme, il faut juste faire attention à ne pas modifier l'adresse mémoire.
- sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] Utiliser les pointeurs avec auto it ?
Bonjour,
et si on commençait par regarder les tutoriels ?
http://www.autoitscript.fr/forum/viewto ... f=11&t=846
Il faut faire attention au fait qu'une adresse mémoire est relative à un processus.
Pour certains c'est évident, pour d'autres moins, donc je vais expliciter :
prenons deux exe A.exe et B.exe.
Windows dans son infinie bontée va adresser virtuellement jusqu'à 4Go (me semble-t-il de mémoire; c'est le cas de le dire
) par processus de ram, même si celui-ci n'en consomme que quelque kilos. Mais cela reste du virtuel. Derrière la MMU passe son temps à translater de l'adressage virtuel vers des adresses physiques (les vraies).
Tout ça pour dire que A.exe peut utiliser une adresse en 0x12345678; tout comme B.exe, mais physiquement ceux ne sont pas les mêmes zones.
Ainsi si on écrit brute de fonderie dans B.exe 0x12345678 reçoit 0x25, ça ne le changera pas dans A.exe.
Pour réaliser ceci, comme suggérer dans le tutoriel, il faut passer par le PID pour que le système fasse la translation (cf _MemoryOpen pour ensuite appeler les Read et Write)
Alors maintenant attention sur ce qu'on veut faire ...
Taper dans une exe pour changer des valeurs de façon illicite c'est pas bien du tout
et en plus si le programme fait des checks d'intégrité on se fait vite jeter, voir
ça enclenche une action de défense (extinction de l'exe, shutdown du système, libre choix au programmeur...) donc un accès direct sur un exe tierce est toujours risqué, voir hasardeux.
Personnellement j'utilise ceci pour émuler des Threads, des vrais du coups pas
comme AdlibEnable qui est trop pieds et mains liés vis à vis des boucles de scripts.
De plus j'ai la possibilité de contrôler / maîtriser ce que je fait des 2 (voir plus) côtés contrairement au point ci dessus où parfois on n'a aucune idée de l'organisation des structures en mémoires, du coups risques énormes de jardinage mémoire comme le soulignait L4crymal.
Sans parler que ça reste quand de la haute bidouille ^^
Après c'est chacun qui agit en son âme et conscience, sachant que pour rendre ceci plus concret, arrivé à un certain stade il y a les règlements puis les lois.
et si on commençait par regarder les tutoriels ?
http://www.autoitscript.fr/forum/viewto ... f=11&t=846
Il faut faire attention au fait qu'une adresse mémoire est relative à un processus.
Pour certains c'est évident, pour d'autres moins, donc je vais expliciter :
prenons deux exe A.exe et B.exe.
Windows dans son infinie bontée va adresser virtuellement jusqu'à 4Go (me semble-t-il de mémoire; c'est le cas de le dire
Tout ça pour dire que A.exe peut utiliser une adresse en 0x12345678; tout comme B.exe, mais physiquement ceux ne sont pas les mêmes zones.
Ainsi si on écrit brute de fonderie dans B.exe 0x12345678 reçoit 0x25, ça ne le changera pas dans A.exe.
Pour réaliser ceci, comme suggérer dans le tutoriel, il faut passer par le PID pour que le système fasse la translation (cf _MemoryOpen pour ensuite appeler les Read et Write)
Alors maintenant attention sur ce qu'on veut faire ...
Taper dans une exe pour changer des valeurs de façon illicite c'est pas bien du tout
et en plus si le programme fait des checks d'intégrité on se fait vite jeter, voir
ça enclenche une action de défense (extinction de l'exe, shutdown du système, libre choix au programmeur...) donc un accès direct sur un exe tierce est toujours risqué, voir hasardeux.
Personnellement j'utilise ceci pour émuler des Threads, des vrais du coups pas
comme AdlibEnable qui est trop pieds et mains liés vis à vis des boucles de scripts.
De plus j'ai la possibilité de contrôler / maîtriser ce que je fait des 2 (voir plus) côtés contrairement au point ci dessus où parfois on n'a aucune idée de l'organisation des structures en mémoires, du coups risques énormes de jardinage mémoire comme le soulignait L4crymal.
Sans parler que ça reste quand de la haute bidouille ^^
Après c'est chacun qui agit en son âme et conscience, sachant que pour rendre ceci plus concret, arrivé à un certain stade il y a les règlements puis les lois.
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Re: [..] Utiliser les pointeurs avec auto it ?
Re,
Ce que je fait est légal vous en faîtes pas^^
En fait je ne veux pas vraiment changer la valeur sous tous les processus du même nom, juste un. Donc pas vraiment besoin du PID dans mon cas^^
J'aurais une autre question, est-ce possible de faire marcher AutoIt en background mais lié à un programme ?
Par exemple cliquer sur firefox alors que celui ci est réduit dans ma barre de tache.
Merci.
Ce que je fait est légal vous en faîtes pas^^
En fait je ne veux pas vraiment changer la valeur sous tous les processus du même nom, juste un. Donc pas vraiment besoin du PID dans mon cas^^
J'aurais une autre question, est-ce possible de faire marcher AutoIt en background mais lié à un programme ?
Par exemple cliquer sur firefox alors que celui ci est réduit dans ma barre de tache.
Merci.



