[..] Exploitation de mémoire.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
genaille08
Niveau 4
Niveau 4
Messages : 93
Enregistré le : sam. 03 mai 2008 01:27
Status : Hors ligne

[..] Exploitation de mémoire.

#1

Message par genaille08 »

Bijour bijour,

Je voudrais pouvoir accéder a des adresse en mémoire ( RAM ) qu'utilise un processus pour pouvoir ensuite la modifier, un peut a la façon Cheat Engine.

Il faudrait que je puisse savoir toutes les valeurs qui sont assignés et a quelle adresse pour ensuite pouvoir faire une recherche dans toutes ces valeurs selon des paramètres en rapport avec la syntaxe de la valeur recherché et ensuite pouvoir la modifié.

Certain disent que c'est possible en autoit et je ne vois pas pourquoi ce ne le serais pas ...


Cordialement
Genaille
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Exploitation de mémoire.

#2

Message par orax »

Je crois que l'UDF NomadMemory.au3 fait ce que vous demandez (j'ai trouvé un lien mais ce n'est peut-être pas le bon : _Mem Memory.au3. Ou bien _WinAPI_WriteProcessMemory() (mais je pense que c'est pareil puisque visiblement l'UDF utilise aussi cette API).
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
genaille08
Niveau 4
Niveau 4
Messages : 93
Enregistré le : sam. 03 mai 2008 01:27
Status : Hors ligne

Re: [..] Exploitation de mémoire.

#3

Message par genaille08 »

Oui merci entre temps j'ai demandé a un programmeur et il m'a aussi conseillé cette UDF merci a vous =)

Bon j'ai un peut testé et le truc c'est que pour utiliser cet UDF il faut connaître l'adresse en mémoire, or je ne la connaît pas et je voudrais que mon script la trouve tout seul ... comment je fais ?

La valeur de cette adresse est 16256 ...
trust
Niveau 2
Niveau 2
Messages : 16
Enregistré le : mar. 11 août 2009 11:49
Status : Hors ligne

Re: [..] Exploitation de mémoire.

#4

Message par trust »

Bonjour,
Moi aussi je serais interessé par la modification de valeur d'adresse mémoires.
Mais je ne sais pas trop comment m'y prendre.
J'ai téléchargé et inclus NomadMemory.au3.

Imaginez un programme qui se nomme [Test], je voudrais modifier l'adresse mémoire : 0064E7B0 je la convertie donc en 0x0064E7B0.
Mais comment modifier par exemple la valeur de cette adresse mémoire dans la fenêtre du nom [Test] avec NomadMemory ?
Et si on a plusieurs fenêtre [Test], vont-elles toutes subir ce changement d'adresse mémoire ?

Merci.
genaille08
Niveau 4
Niveau 4
Messages : 93
Enregistré le : sam. 03 mai 2008 01:27
Status : Hors ligne

Re: [..] Exploitation de mémoire.

#5

Message par genaille08 »

Il faut que tu ouvre le processus avec

Code : Tout sélectionner

_MemoryOpen
puis que tu modifie l'adresse avec

Code : Tout sélectionner

_MemoryWrite
.

Regarde sur le lien que orax a donné plus haut, en bas de la page il y a de très bon exemple.
Et si on a plusieurs fenêtre [Test], vont-elles toutes subir ce changement d'adresse mémoire ?
Oui si elle utilise toutes la mêmes variables.
trust
Niveau 2
Niveau 2
Messages : 16
Enregistré le : mar. 11 août 2009 11:49
Status : Hors ligne

Re: [..] Exploitation de mémoire.

#6

Message par trust »

Re,
Je ne débute pas en programmation mais ce sont mes débuts avec AutoIt ^^
Il ressemble pas mal à VB je trouve :)
A vrai dire j'ai commencé AutoIt hier soir^^

Code : Tout sélectionner


#include <GUIConstants.au3>
#include <NomadMemory.au3>
;GLOBALS VARS :
Global $ProcessID = WinGetProcess("[Test]")

;FORM :
$Form1 = GUICreate("Multi Hack By anerax", 270, 100, 195, 125)
$Label1 = GUICtrlCreateLabel("Speed Hack :", 30, 25, 70, 20)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 170, 25, 17, 17)
$Label2 = GUICtrlCreateLabel("Zoom Hack :", 30, 55, 65, 25)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 170, 55, 17, 17)
GUISetState(@SW_SHOW)

;EVENTS :
While 1

    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    Case $Checkbox1

    Case $Checkbox2
        $Nom_Fenetre = _MemoryOpen($ProcessID)
        _MemoryWrite(0x0064E7B0,$Nom_Fenetre,200);
    EndSwitch

WEnd
 
Voici le code, ça ne marche pas super^^
Merci.
Répondre