Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 02:06

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

Advertisement



Pointer frozen mit Autoit möglich?

Discussion on Pointer frozen mit Autoit möglich? within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Mar 2010
Posts: 23
Received Thanks: 0
Pointer frozen mit Autoit möglich?

Hi,

ich hab mir ein Script gebastelt, mit dem ich den Wert einer Speicheradresse überschreibe.
In Cheatengine gibt es die Möglichkeit eine Adresse als "frozen" zu kennzeichnen, somit kann die nicht mehr geändert werden.
Ist sowas mit Autoit ohne Endlosschleife möglich?

Diese Funktion nutze ich, um den Wert der Speicheradresse zu ändern:
Code:
_MemoryPointerWrite($FinalAddress, $hMemory, $Offset, "1")
Allerdings wird der Wert von dem Programm dann nach gewissen Aktionen wieder umgeändert, das will ich verhindern.

Danke schonmal.
auchegal is offline  
Old 03/12/2011, 18:48   #2
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
AdlibRegister()
omer36 is offline  
Old 03/12/2011, 21:48   #3
 
PenGuin :O's Avatar
 
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
Wenn du das Programm disassemblierst, wirst du an deiner gefunden andresse etwas finden was aussieht:

MOV EAX, DWORD PTR SS:[EBP+8]

oder ähnlich.

Das änderst du einfach zu MOV EAX, deinWert und es ist automatisch gefreezt.
PenGuin :O is offline  
Old 03/13/2011, 12:19   #4
 
SCORNI's Avatar
 
elite*gold: 26
Join Date: Jun 2009
Posts: 972
Received Thanks: 228
Tu memorywrite in eine schleife und lass alle 100 ms memorywrite mit dem gewünschten wert ausführen. So weit ich weiß tut cheatengine auch nix anderes. (Oder doch?)
SCORNI is offline  
Old 03/13/2011, 13:16   #5
 
Imaginär's Avatar
 
elite*gold: 255
Join Date: Nov 2009
Posts: 2,900
Received Thanks: 1,408
Code:
Dim $Schalter1 = 0

;Gui

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
			
		Case $Button1
			$Schalter1 = 1
		Case $Button2
			$Schalter1 = 0
	EndSwitch

If $Schalter1 = 1 Then
    _MemoryPointerWrite($FinalAddress, $hMemory, $Offset, "1")
EndIf

WEnd

Was hast du denn gegen Endlosschleifen? Funktioniert doch. :s
Imaginär is offline  
Old 03/13/2011, 13:28   #6
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
was habt ihr alle mit euren schleifen o.O

AdlibRegister(_MemoryPointerWrite($FinalAddress, $hMemory, $Offset, "1"))

reicht völlig, es ruft diese funktion alle 250ms auf, kann mann als "frozen" bezeichnen...
omer36 is offline  
Old 03/13/2011, 15:49   #7
 
SCORNI's Avatar
 
elite*gold: 26
Join Date: Jun 2009
Posts: 972
Received Thanks: 228
Ist im endefekt ja kein unterschied ob es adlibregister oder ne schleife ist o.O
SCORNI is offline  
Old 03/13/2011, 16:24   #8
 
PenGuin :O's Avatar
 
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
Quote:
Originally Posted by SCORNI View Post
Tu memorywrite in eine schleife und lass alle 100 ms memorywrite mit dem gewünschten wert ausführen. So weit ich weiß tut cheatengine auch nix anderes. (Oder doch?)
Quote:
Originally Posted by PenGuin :O View Post
Wenn du das Programm disassemblierst, wirst du an deiner gefunden andresse etwas finden was aussieht:

MOV EAX, DWORD PTR SS:[EBP+8]

oder ähnlich.

Das änderst du einfach zu MOV EAX, deinWert und es ist automatisch gefreezt.
.

Quote:
AdlibRegister(_MemoryPointerWrite($FinalAddress, $hMemory, $Offset, "1"))
Das wird so nicht gehen, du musst
_MemoryPointerWrite($FinalAddress, $hMemory, $Offset, "1"))
in eine Funktion packen ohne Parameter und die dann so aufrufen:

AdlibRegister("_Funktion")
PenGuin :O is offline  
Old 03/13/2011, 17:01   #9
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
Quote:
Originally Posted by PenGuin :O View Post
.



Das wird so nicht gehen, du musst
_MemoryPointerWrite($FinalAddress, $hMemory, $Offset, "1"))
in eine Funktion packen ohne Parameter und die dann so aufrufen:

AdlibRegister("_Funktion")

doch doch funzt so auch, muss mann nciht in eine extra funktion packen
omer36 is offline  
Old 03/13/2011, 18:01   #10
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
AdlibRegister führt ja auch alle x ms ein interrupt durch, indem es einfach nur execute mit dem gegebenen parameter ausführt =)

man könnte also auch genausogut eine oder mehrere funktionen mit parametern darüber laufen lassen =)

allerdings muss beachtet werden, das die jeweile laufzeit der funktion nicht die im parameter übergebene ausführungszeit überschreitet, da sonst die funktion während der eigenen laufzeit bereits neu getstartet werde würde
lolkop is offline  
Old 03/13/2011, 18:15   #11
 
PenGuin :O's Avatar
 
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
Code:
AdlibRegister(_Console(), 20)

While Sleep(50)
WEnd

Func _Console()
	MsgBox(0, "", "Test")
EndFunc
Bei mir gehts nicht.
PenGuin :O is offline  
Old 03/13/2011, 21:18   #12
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
und jetzt denk mal über die laufzeit der msgbox nach, und in welchem intervall die aufgerufen werden soll

Edit:
wobei
Code:
AdlibRegister(ConsoleWrite('blah'),500)

While Sleep(50)
WEnd
auchnicht funktioniert... also anscheinend ist das ganze so doch nicht wirklich nutzbar sry für die falsche info :P
lolkop is offline  
Old 03/13/2011, 21:31   #13
 
PenGuin :O's Avatar
 
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
Quote:
Originally Posted by lolkop View Post
und jetzt denk mal über die laufzeit der msgbox nach, und in welchem intervall die aufgerufen werden soll

Edit:
wobei
Code:
AdlibRegister(ConsoleWrite('blah'),500)

While Sleep(50)
WEnd
auchnicht funktioniert... also anscheinend ist das ganze so doch nicht wirklich nutzbar sry für die falsche info :P
Ups sry, ich hatte das auch mit ConsoleWrite getestet, ging auhc nicht, habs dann in ner MsgBox getan, damit das jeder sieht und außer Acht gelassen, dass man da ja auf OK drücken muss -.-'

Aber naja wie du selbst siehst, geht es nicht
PenGuin :O is offline  
Old 03/14/2011, 01:46   #14
 
elite*gold: 0
Join Date: Mar 2010
Posts: 23
Received Thanks: 0
AdlibRegister funktioniert wunderbar, vielen Dank =)

Das Problem bei meinen Endlosschleifen war, dass die CPU Auslastung zu hoch war.
Außerdem macht dann das Programm nichts anderes mehr ^^
auchegal is offline  
Reply


Similar Threads Similar Threads
Autoit Pointer
01/30/2011 - AutoIt - 0 Replies
Hallo, ich brauche eure Hilfe. Ich will mir einen eigenen Dss switcher für das Spiel Metin2 machen, soweit habe ich alles. Habe mit MouseMove etc gearbeitet also so noob sachen ^^ . BIs dahin klappt alles gut nur jetzt will ich das wenn eine Waffe z.B. 30 dss hat (einen bonus vond er waffe) das er dann anhält aber wie stelle ich das am besten an habe da an Pointer gedacht, aber ich blick des nicht richtig. Wäre lieb wenn ihr mir helfen könntet. Danke
Pointer in Programmen abschaffen, möglich?
11/27/2010 - General Coding - 6 Replies
Hey Com, Ich stell mir grade die Frage, warum man in den meisten Spielen die Pointer statisch sind, ich weis wie Pointer funktionieren keine Sorge ;) Denn nach einem neuen Patch (Nehme mal Metin2 --> Crap) ändern sich ja die Offsets von den Pointern. Pointer sehn ja so z.B. aus metin2client.exe+0x10 Ist jetzt nurn Beispiel, die metin2.client.exe bedeutet ja das dort der Speicherbereich von dem Spiel beginnt und die +0x10 bedeutet von dort - dem Speicherbereich des Spiels - gehe genau...
[AutoIT] Pointer Frozen (Freezen)
08/04/2010 - AutoIt - 8 Replies
Hi, ich habe einen Hack gebastelt. Er geht aber nicht richtig. Daher ich nicht weis, wie man die Pointer freezen soll. Bitte um hilfe. Achso ja, das ist ein 4Story-Offi hack, wo Kingdomhack mit eingebaut ist. Es gibt 2 Nationen (Valorian/Derion). Also habe ich 2 Button eingebaut für Valorian und Derion. Um von Valorian nach Derion zu kommen muss mann die uzr Adresse +1 hinzufügen, also wenn ich 19435 also adresse habe ist es 19436.
Pointer in AutoIT
11/20/2009 - AutoIt - 14 Replies
Hi, ich Programmiere grade einen Bot und komme nicht ganz weiter. Es geht darum das ich in Counter Strike mein Leben "einfrieren" will. Dazu habe ich nun einen Pointer gefunden. Wie kann ich nun auf den Pointer zugreifen? Habe mir schon paar Tuts angeschaut, aber schlau bin ich dadurch nicht geworden. Mein Code: Global $Adresse = 0x15452455 Dim $Offset =



All times are GMT +1. The time now is 02:07.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.