|
You last visited: Today at 03:48
Advertisement
Pointer in AutoIT
Discussion on Pointer in AutoIT within the AutoIt forum part of the Coders Den category.
11/20/2009, 21:40
|
#1
|
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
|
Pointer in AutoIT
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:
PHP Code:
Global $Adresse = 0x15452455
Dim $Offset[1] = [22B]
Func _Change()
While 1
$THandle = WinGetHandle ("Counter-Strike Source")
if $Thandle <> 0 Then
$hProcess = _MemoryOpen ($Thandle)
$Armor = _MemoryPointerRead ($Adresse, $hProcess, $Offset)
if $Armor < 5 Then
EndIf
EndIf
WEnd
EndFUnc
Wie kann ich nun meinen Pointer darin verbauen das er angesprochen wird?
Zweites Problem: Mit welchem bvefehl friere ich eine Adresse ein?
mfg Markus
|
|
|
11/20/2009, 21:41
|
#2
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
#moved
Adresse = 0x111111
Offset = 0x23
ReadProcessMemory(Adresse,....) // Adresse auslesen
Adresse = Adresse+Offset // Offset draufaddieren
ReadProcessmemory(Adresse...) //Endgültige Adresse, Wert auslesen
Richtig einfrieren wird schwer. Gibt viele Möglichkeiten.
Kannst mit timern arbeiten und dann alle paar ms ein WriteProcessMemory drauf machen.
|
|
|
11/20/2009, 21:54
|
#3
|
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
|
Danke, ein paar Fragen hab ich aber noch
Wie kommst du auf die Adresse bzw. den offset?
Oder muss ich da meine Werte eintragen?
Quote:
Adresse = 0x111111
Offset = 0x23
|
Quote:
ReadProcessMemory(Adresse,....) // Adresse auslesen
Adresse = Adresse+Offset // Offset draufaddieren
ReadProcessmemory(Adresse...) //Endgültige Adresse, Wert auslesen
|
Quote:
Welche Adresse? Den Pointer oder die Adresse direkt? Die Adresse wurde ja bereits angegeben.
außerdem ist der Befehl ja gleich mit dem..
Quote:
|
ReadProcessmemory(Adresse...)
|
Also dann z.B.
PHP Code:
$read = ReadProcessMemory(0x111111, $hProcess)
$Adresse = $Adresse+$Offset
$read = ReadProcessmemory($Adresse, hProcess)
mfg
Markus
|
|
|
11/20/2009, 21:57
|
#4
|
elite*gold: 150
Join Date: Apr 2007
Posts: 2,394
Received Thanks: 6,644
|
Code:
$address = _MemRead($open,address,4);
$address += offset;
$armor = _MemRead($open,address,4);
Natürlich solltest du bei Addresse und Offset deine Daten
benutzen.
|
|
|
11/20/2009, 22:09
|
#5
|
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
|
Geht leider nicht
Mein Offset Memory:
Welche Included muss rein?
PHP Code:
#include <Pointer.au3>
#include <Memory.au3>
PHP Code:
Global $Adresse = 0xD2C98B4
Dim $Offset = 0x22
Func _Change()
While 1
$THandle = WinGetProcess ("Counter-Strike Source")
if $Thandle <> 0 Then
$hProcess = _MemoryOpen ($Thandle)
$address = _MemRead($hProcess,0xD2C98B4,4);
$address += $offset
$armor = _MemRead($hProcess,0xD2C98B4,4);
if $Armor < 5 Then
ControlSend ("Counter-Strike Source", "", 0, "R")
EndIf
EndIf
WEnd
EndFUnc
Error:
Sry, das ich sooft frage, bin aber noch neu im Thema Memorys.
|
|
|
11/20/2009, 22:15
|
#6
|
elite*gold: 0
Join Date: Apr 2009
Posts: 793
Received Thanks: 366
|
Huch was benutzt du den für eine UDF?
Also der Fehler liegt daran, dass die Funktion(_MemRead) 4 Parameter verlangt, du aber nur 3 angibts: :P
|
|
|
11/20/2009, 22:16
|
#7
|
elite*gold: 150
Join Date: Apr 2007
Posts: 2,394
Received Thanks: 6,644
|
Oh sry bin kein Autoit Programmierer und hab da was verwechselt.
Naja mit #include <NomadMemory.au3> und _MemoryRead
sollte es gehen. Und mit memread so -->
_MemRead($hProcess,address, address, 4);
Also anstatt $variable = memread
die Variable als 3.n Parameter nehmen.
|
|
|
11/20/2009, 22:17
|
#8
|
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
|
Quote:
|
Hcu hwas benutzt du den für eine UDF?
|
Wüßt ich auch gerne^^
Nur in den beispielen war die so angegeben
Ich hab grade mal ein neues Spiel gestartet und da war der Pointer wieder weg. Warum?
|
|
|
11/20/2009, 22:18
|
#9
|
elite*gold: 0
Join Date: Apr 2009
Posts: 793
Received Thanks: 366
|
Quote:
Originally Posted by General Desert
Wüßt ich auch gerne^^
Nur in den beispielen war die so angegeben
Ich hab grade mal ein neues Spiel gestartet und da war der Pointer wieder weg. Warum?
|
Nicht statisch => kein Base Pointer :P
dh. es muss noch einen Pointer geben der auf den Pointer "pointet"(komischer Satz xD)
War der Pointer den du den hattes "grün"?
|
|
|
11/20/2009, 22:20
|
#10
|
elite*gold: 150
Join Date: Apr 2007
Posts: 2,394
Received Thanks: 6,644
|
Guck dir folgendes Tutorial am besten mal an:
|
|
|
11/20/2009, 22:20
|
#11
|
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
|
ne, der war schwarz.
Wie findet man den Base Pointer?
|
|
|
11/20/2009, 22:22
|
#12
|
elite*gold: 0
Join Date: Apr 2009
Posts: 793
Received Thanks: 366
|
Quote:
Originally Posted by General Desert
ne, der war schwarz.
Wie findet man den Base Pointer?
|
Wie du auch deinen ersten Pointer gefunden hast.
Kleiner Tipp: Base Pointer werden in CE immer mit grünen Adressen dargestelt.
|
|
|
11/20/2009, 22:23
|
#13
|
elite*gold: 150
Join Date: Apr 2007
Posts: 2,394
Received Thanks: 6,644
|
Guck dir das Tutorial an welches ich gepostet hab.
|
|
|
11/20/2009, 22:26
|
#14
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
Quote:
Originally Posted by General Desert
Geht leider nicht
Mein Offset Memory:
Welche Included muss rein?
PHP Code:
#include <Pointer.au3>
#include <Memory.au3>
PHP Code:
Global $Adresse = 0xD2C98B4
Dim $Offset = 0x22
Func _Change()
While 1
$THandle = WinGetProcess ("Counter-Strike Source")
if $Thandle <> 0 Then
$hProcess = _MemoryOpen ($Thandle)
$address = _MemRead($hProcess,0xD2C98B4,4);
$address += $offset
$armor = _MemRead($hProcess,0xD2C98B4,4);
if $Armor < 5 Then
ControlSend ("Counter-Strike Source", "", 0, "R")
EndIf
EndIf
WEnd
EndFUnc
Sry, das ich sooft frage, bin aber noch neu im Thema Memorys.
|
Du machst das auch falsch.
0xD2C98B4 Ist schon die "ausgerechnete" Adresse.
Bei dir ist server.dll +000BFDF + 22B (offset)
Die Adresse und nicht.
0xD2C98B4
Aber server.dll + 000bfdf ist nicht statisch. Du musst da nochmal den basepointer finden.
Sollte dann auch eine Adresse sein später.
|
|
|
11/20/2009, 22:26
|
#15
|
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
|
ok, mach ich
danke
|
|
|
 |
Similar Threads
|
AutoIT Pointer
05/02/2010 - General Coding - 3 Replies
Also ich habe nach längerem rumprobieren herausgefunden, wie ich Pointer aus CE in AutoIT benutze.
(Btw.: Irgendwie sind 99% der Tutorials dafür hier schlecht erklärt, die benutzten Includes fehlen oder sie funktionieren nicht.)
Ich habe bis jetzt den folgenden Programmcode.
#include<pointer.au3>
$pid = ProcessExists("sol.exe")
$handle=_MemoryOpen($pid)
|
[AUTOIT]Pointer einbinden
04/01/2010 - AutoIt - 2 Replies
Hi,
ich habe eine Frage zu den Pointer einbinde Code
#include <NomadMemory.au3>
#RequireAdmin
SetPrivilege("SedDebugPrivilege", 1)
$PID = WinExists("Solitaire.exe")
if $PID = 0 then
MsgBox(16, "Fehler", "Prozess nicht gefunden!")
|
Pointer in AutoIt einbinden
03/29/2010 - AutoIt - 1 Replies
Hi,
Ich wollte euch mal fragen ob ihr wisst wie man in AutoIt
einen Pointer einbindet!
Hat jmd(außer LordKill) ein Pointer einbind Tutorial für AutoIt? xD
Bekommt auhc ein Fettes THX :handsdown:
Also gut beschrieben wie z.B was die Function
GetProcess blablabla bringt und so.
Links wären auch sehr nett
|
Autoit Pointer Problem
02/23/2010 - AutoIt - 3 Replies
Ich habe Leider keine Ahnung wie das gehen soll.
Ich habe ein Spiel. Der Name in Der Taskleiste: "Shaiya"
Ich habe den Pointer herausgefunden: 00850670
Wie muss mein Script aussehen wenn ich einfach nur in einer msgbox das ergebnis angezeigt haben will! Ich versteh das leider nicht
Vllt noch ein zwei worte pro zeile dazu damit ich das dann auch einsetzten kann!
lg luca
|
Pointer für Autoit
12/07/2009 - AutoIt - 7 Replies
Hallöchen
bitte schlagt mich nicht bin schon alle möglichen tuts durchgegangen doch ich raff es einfach nicht.
http://img686.imageshack.us/img686/4291/unbenannt 1i.th.jpg
das hier ist mein Pointer doch wie schreib ich ihn nun in mein bot?
Hab keine Lust ihn immer rein zu schreib.
Wie gesagt bin schon ca 1 Woche daran und ich verzweifel langsam da ich nie ein gescheites Beispiel finde...
Hoffe einer kann mir helfen.
|
All times are GMT +1. The time now is 03:48.
|
|