Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 23:26

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Autoit nomadmemory.au3

Discussion on Autoit nomadmemory.au3 within the AutoIt forum part of the Coders Den category.

Closed Thread
 
Old   #1

 
xcyancali's Avatar
 
elite*gold: 155
The Black Market: 1057/0/0
Join Date: Jul 2012
Posts: 24,491
Received Thanks: 2,568
Autoit nomadmemory.au3

Moin,

Ich möchte mal in Autoit was neues machen & habe mir mal die UDF Nomadmemory angeschaut, finde ich echt super

Mein Test spiel ist Solitair.

Mein bisheriges Spiel sied so aus:

Code:
#RequireAdmin
#include <NomadMemory.au3>
$adresse1 = 0x0088A2B4
$PID = ProcessExists("Solitaire.exe")

$OPEN = _MEMORYOPEN($PID)

_MEMORYWRITE($adresse1, $OPEN,"10", "Byte")
MsgBox(0,"","")
Wenn ich das Spiel neu starte, ändert sich ja die Adresse.
Gibt es also irgendeine Formel um die Adresse wieder rauszufinden?

Mfg,
xCyancali
xcyancali is offline  
Thanks
1 User
Old 03/01/2013, 14:36   #2
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
du musst den pointer oder wie das auch heißt rausfinden such mal nach nem cheat engine tutorial
YatoDev is offline  
Old 03/01/2013, 14:48   #3

 
xcyancali's Avatar
 
elite*gold: 155
The Black Market: 1057/0/0
Join Date: Jul 2012
Posts: 24,491
Received Thanks: 2,568
Quote:
du musst den pointer oder wie das auch heißt rausfinden such mal nach nem cheat engine tutorial
Wenn ich nach den Pointern suche, stürzt mein Pc ab, also Bluescreen ://
xcyancali is offline  
Thanks
1 User
Old 03/01/2013, 14:50   #4
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
du kannst den pointer auch bekommen in dem du scannst : adressen nimmst , value hat sich im spiel geändert (nicht durch dich ) scannen dann was da gleich bleibt an adressen . Ich weiß net ob das richtig ist aber müsste gehen
YatoDev is offline  
Thanks
1 User
Old 03/01/2013, 15:02   #5

 
xcyancali's Avatar
 
elite*gold: 155
The Black Market: 1057/0/0
Join Date: Jul 2012
Posts: 24,491
Received Thanks: 2,568
ah okay, habe jetzt ein par adressen.
Baseadress: "solitaire.exe"+000BB038
Offset 0: 30
Offset 1: 5B4
Points to: 000AE194
wenn ich jetzt die Base Adresse nehme (000BB038) passiert nichts im Script.
xcyancali is offline  
Thanks
1 User
Old 03/01/2013, 15:09   #6
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
wohl eher die dann oder nicht ? 000AE194 dann versuch nochmal neu die adresse müsste ja wieder da sein
YatoDev is offline  
Old 03/01/2013, 16:15   #7

 
xcyancali's Avatar
 
elite*gold: 155
The Black Market: 1057/0/0
Join Date: Jul 2012
Posts: 24,491
Received Thanks: 2,568
ah, mir ist was aufgefallen.
A2B4 bleibt immer, nur die 4 nummern davor ändern sich immer, wie schaff ich das jetzt, dass ich jetzt die nummern rausfinde?
xcyancali is offline  
Thanks
1 User
Old 03/02/2013, 16:04   #8
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
mit basepointern funktioniert das so:

du hast eine statische adresse die sich nicht verändert. die hat einen wert z.b. 123. also ist die nächste adresse die wir auslesen 123 + einen offset, bspw 124. also ließt man dann 124 aus. das geht dann so lange weiter bis man die eigentliche adresse hat, in der der gesuchte wert steht. ich glaube es gibt auch eine funktion, in die du einfach nur baseadress und die offsets eingibst und die liefert dir dann den wert den du haben willst. weiß den namen aber grad nciht.
butter123 is offline  
Old 03/02/2013, 16:51   #9
 
snow21's Avatar
 
elite*gold: 40
Join Date: May 2007
Posts: 631
Received Thanks: 68
hier ein bsp für pointer

kleine geschichte
du bist von einem auto angefahren worden und hast dein gedächtniss verloren. du kennst nichts wie den ort wo du gerade aufgewacht bist.

so sieht das auch mit den pointern aus.
du hast einen wert aber kennst nicht dein zuahuse / den weg zum basepointer (dein zuhause / deinen wert)
jetzt gehst du auf die suche nach dem wert der nicht nur eine adresse/ziel hat.

du suchst nach offset hinweisen (adressen) die dich zum ziel bringen.


du hast als bsp den wert 000AE194
das ist aber ein wert der verloren geht nach dem neustart des spiels.

also ist 000AE194 dein einstigspunkt da wo du im krankenhaus wach wirst ^^

jetzt gehst du auf die suche nach hinweisen
1 adresse die man dir nennt ist 0xff als bsp aber du bekommst noch nicht den richtigen hinweis also merken wir uns schon mal "0xFF" 0xFF sagt uns ja das der hinweiss 255 stellen verschoben ist. jetzt wissen wir das 000AE194+255/0xff(dec/hex) ist immer das gleiche) verschoben ist. der wert der bei 000AE194+255 raus kommst suchen wir als nächtest. also rechnen wir mit cheatengine die werte zusammen.

nachher sieht das dann ca. so aus

000AE194 + 0xff + 0xa20 + 0xhf3 + 0x22f = dein gesuchter wert / dein zuhause
hier sieht man das man auch hinweisen folgen muss und den wert den man gefunden hat zurückverfolgen muss den man sucht. also 000AE194 + oxff = ergebinss + 0x2a20 = ergebniss + 0chf3 = ergebiss + 0x22f = baspointer (die adresse die sich nicht mehr ändert) wir sind @home

meist sind das 4 offsets (0xff + 0xa20 + 0xhf3 + 0x22f) kann aber auch bis 7 +++ gehen was aber nicht sinnvoll ist.


soll nur eine kleine erklärung sein wie du zum ziel kommst und warum der eine wert nicht immer der gleiche ist.

lese dich hier einmal ein und wenn du genau weist was die begriffe bedeuten klappt das schon
basepointer?
dynamisch / statisch adresse?
offset?



dein wirscher snow21
snow21 is offline  
Thanks
1 User
Old 03/25/2014, 09:49   #10
 
elite*gold: 0
Join Date: Mar 2014
Posts: 11
Received Thanks: 1
Hallo, ich habe ein Problem...

Ich möchte ein Trainer/Hack für Assault Cube erstellen.
Ich habe Offsets und Baseaddressen aber es funktioniert nicht...

Code:

#include <NomadMemory.au3>

#Region Koda...
[...]
#Endregion Koda

_go() ; wartet auf ac_client.exe

while 1
$msg = GuiGetMsg()
Select
Case $msg = -3
Exit
Case $msg = $Button1
Exit
Endselect
Wend

Func _go() ; Code von "wartet auf ac_client.exe"
ToolTip("Wait for Assault Cube...", 0, 0)
ProcessWait("ac_client.exe")
$pid = processexists("ac_client.exe")
ToolTip("", 0, 0)
_start()
Endfunc

Func _start() ; öffnen des tools und memory
$msg = guigetmsg()
sleep(1000)
guisetstate(1)
$pid = processexists("ac_client.exe")
$Open = _memoryopen($pid)
while 1
If GuiCtrlRead($Checkbox1) = 1 Then ; Assault Cube Munition im lauf
$StaticOffset1 = Dec("004DF73C")
Global $OffSet1[3]
$Offset[0] = 0
$Offset[1] = 0x14
$Offset[2] = 0x378
$baseADDR1 = _memorygetbaseaddress($pid, 1)
$finalADDR1 = "0x" & Hex($baseADDR1 + $StaticOffset1)
$r1 = _memoryread($finalADDR1, $Open)
$r1 = _memoryread($r1 + $Offset1[1], $Open)
$r1 = _memorywrite($r1 + $Offset1[2], $Open, 1, "4Bytes")
EndIf

; 2. Checkbox lass ich mal weg ist gleich wie die 1. (ähnlich)

If guictrlread(Checkbox3) = 1 Then ; Assault Cube automatisches feuern
$StaticOffset3 = Dec("...addresse...") ; hab nach kopieren 2. Checkbox nicht geändert
Global $OffSet3[1]
$OffSet3[0] = 0x218
$baseADDR3 = _memorygetbaseaddress($pid, 1)
$finalADDR3 = "0x" & Hex($baseADDR3 + $StaticOffset3)
$r3 = _memoryread($finalADDR3, $Open)
$r3 = _memorywrite($r3 + $Offset[0], $Open, 1, "Byte")
Endif
Wend
Endfunc

Also es funktioniert so weit alles...
Nur wenn ich halt eine checkbox anklicke soll die memory umgeschrieben werden
aber leider peassiert nichts...

Wäre nett wenn mir jemand helfen würde, da ich nicht weiß was falsch ist.

Neues Coding würde mir auch helfen thx
HexScript is offline  
Old 03/25/2014, 13:11   #11
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by HexScript View Post
Code:
#include <NomadMemory.au3>

#Region Koda...
[...]
#EndRegion Koda
_go() ; wartet auf ac_client.exe

While 1
	$msg = GUIGetMsg()
	Select
		Case $msg = -3
			Exit
		Case $msg = $Button1
			Exit
	EndSelect
WEnd

Func _go() ; Code von "wartet auf ac_client.exe"
	ToolTip("Wait for Assault Cube...", 0, 0)
	ProcessWait("ac_client.exe")
	$pid = ProcessExists("ac_client.exe")
	ToolTip("", 0, 0)
	_start()
EndFunc   ;==>_go

Func _start() ; öffnen des tools und memory
	$msg = GUIGetMsg()
	Sleep(1000)
	GUISetState(1)
	$pid = ProcessExists("ac_client.exe")
	$Open = _memoryopen($pid)
	While 1
		If GUICtrlRead($Checkbox1) = 1 Then ; Assault Cube Munition im lauf
			$StaticOffset1 = Dec("004DF73C")
			Global $OffSet1[3]
			$Offset[0] = 0
			$Offset[1] = 0x14
			$Offset[2] = 0x378
			$baseADDR1 = _memorygetbaseaddress($pid, 1)
			$finalADDR1 = "0x" & Hex($baseADDR1 + $StaticOffset1)
			$r1 = _memoryread($finalADDR1, $Open)
			$r1 = _memoryread($r1 + $Offset1[1], $Open)
			$r1 = _memorywrite($r1 + $Offset1[2], $Open, 1, "4Bytes")
		EndIf
		If GUICtrlRead(Checkbox3) = 1 Then ; Assault Cube automatisches feuern
			$StaticOffset3 = Dec("...addresse...") ; hab nach kopieren 2. Checkbox nicht geändert
			Global $OffSet3[1]
			$OffSet3[0] = 0x218
			$baseADDR3 = _memorygetbaseaddress($pid, 1)
			$finalADDR3 = "0x" & Hex($baseADDR3 + $StaticOffset3)
			$r3 = _memoryread($finalADDR3, $Open)
			$r3 = _memorywrite($r3 + $Offset[0], $Open, 1, "Byte")
		EndIf
	WEnd
EndFunc   ;==>_start
  1. zukünftig bitte code-tags verwenden
  2. funktioniert denn das schreiben einer einfachen adresse?
  3. processwait gibt bereits das processhandle zurück
  4. du verirrst dich in deinem script in einer reihe von funktionen, wobei du in der letzten sogar stecken bleibst
  5. du solltest zur problemlösung versuchen alles über die hauptschleife laufen zu lassen
  6. wenn du bei der gui erstellung mit einem array arbeitest, kannst du den wichtigsten teil des scriptes als 4zeiler aufbauen
lolkop is offline  
Thanks
1 User
Old 03/25/2014, 20:54   #12
 
elite*gold: 0
Join Date: Mar 2014
Posts: 11
Received Thanks: 1
Also das ist mein erster Script mit NomadMemory.au3 und ich weiß davon nicht viel und deine begriffe kenne ich nicht. Habe bisher nur Bots erstellt (PixelSearch aim und Chat/Spam). Ich weiß nicht mal wie ein Memory write (address, pointer, read) script aussieht... Zahlreiche tutorials konnten mir auch nicht helfen aber trotzdem danke!
HexScript is offline  
Old 03/25/2014, 21:49   #13
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by HexScript View Post
Also das ist mein erster Script mit NomadMemory.au3 und ich weiß davon nicht viel und deine begriffe kenne ich nicht. Habe bisher nur Bots erstellt (PixelSearch aim und Chat/Spam). Ich weiß nicht mal wie ein Memory write (address, pointer, read) script aussieht... Zahlreiche tutorials konnten mir auch nicht helfen aber trotzdem danke!
wenn du nicht weist, was schleifen, arrays und handles sind, solltest du dir zunächst einmal anfänger tutorials anschauen.
lolkop is offline  
Old 03/25/2014, 23:41   #14


 
Lawliet's Avatar
 
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
mach bitte einen neuen thread auf
#closed
Lawliet is offline  
Thanks
1 User
Closed Thread


Similar Threads Similar Threads
AutoIt Script mit nomadMemory geht nicht. Und HWID Frage
01/18/2012 - AutoIt - 13 Replies
Hallo Lute, Ich habe eine Frage ich will für mich einen Hack erstellen, aber leider verändert er die Values wohl nicht, da nix passiert. Hier das Script: #include <ButtonConstants.au3> #include <GUIConstantsEx.au3>
[Frage] NomadMemory
06/08/2010 - AutoIt - 4 Replies
Hallo. Ich wollte mit AutoIt einen Trainer basteln. Bei Cheat Engine fragt er noch etwas mit einem "-0 Opperator" weil der Text nicht gleich lang ist, und da muss man mit "Ja" antworten, wie kann ich das bei der _MemoryWrite Funktion angeben? LG
Nomadmemory
02/16/2010 - AutoIt - 12 Replies
Hallo, Ich suche schon seit 2 h nach der nomedmemory.au3! Aber ich finde sie nicht.. O.o Kann Sie mir pls wer geben? lg Cann
[Help!!]Nomadmemory.au3
06/18/2009 - 12Sky2 - 4 Replies
i have all time problem with Nomadmemory.au3 i did what got suggest i had look for in google found like 4-5 of them but no any work out ;/. all time same problem "Line 7 (File "c:\documents and setting\storm\pulpit\autopotion.au3"): #include <Nomadmemory.au3> Error:Error opening the file."



All times are GMT +2. The time now is 23:26.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.