Register for your free account! | Forgot your password?

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

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

Advertisement



WoW Bot AutoIT HP auslesen

Discussion on WoW Bot AutoIT HP auslesen within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
nitro2k's Avatar
 
elite*gold: 0
Join Date: Apr 2006
Posts: 152
Received Thanks: 23
WoW Bot AutoIT HP auslesen

Hey,ich hab damit angefangen mit nen kleinen Bot fürn PrivatServer zu basteln,der auf der Version 3.3.3a läuft.
Gibt es für PrivatServer andere Offsets als für die Offiziellen Server?
Aber irgendwie bekomme ich immer als HP anzahl : 0 raus. Ich habe die richtigen Offsets genommen :

;/*Patch 3.3.3*/

;/*Player offsets*/
Local $Mem_Player_Base = 0x00B366D0, $Mem_Player_Base_P1 = 0x34, $Mem_Player_Base_P2 = 0x24

Quote:
#include <NomadMemory.au3>
Global $PlayerBaseStatic = 0x00B366D0
Global $PlayerBaseOffsA = 0x34
Global $PlayerBaseOffsB = 0x24


SetPrivilege("SetDebugPrivilege",1)

$pid = wingetprocess("World of Warcraft","")
$open = _Memoryopen($pid)

$pBasePointer01 = _Memoryread($PlayerBaseStatic, $open,'ptr')
$pBasePointer02 = _Memoryread($pBasePointer01 + 0x34,$open,"dword")
$pBasePointer = _Memoryread($pBasePointer02 + 0x24,$open,"dword")
$pBase = $pBasePointer
$pStorage = _Memoryread($pBasePointer + 0x8,$open,"dword")
$hp = _Memoryread($pStorage + 0x17*4,$open,"dword")
Msgbox("", "", "Du hast " & $hp & " Hp")
nitro2k is offline  
Old 07/18/2010, 12:25   #2
 
NeedAbot's Avatar
 
elite*gold: 0
Join Date: Aug 2009
Posts: 62
Received Thanks: 120
Quote:
Originally Posted by nitro2k View Post
Gibt es für PrivatServer andere Offsets als für die Offiziellen Server?
Ne sind die Gleichen Offsets. Ich glaub ich hab dein Fehler gefunden:

Quote:
SetPrivilege("SetDebugPrivilege",1)
Ich glaub so ist's richtig:
Quote:
SetPrivilege("SeDebugPrivilege",1)
Mfg ,

NeedABot
NeedAbot is offline  
Old 07/18/2010, 12:32   #3
 
nitro2k's Avatar
 
elite*gold: 0
Join Date: Apr 2006
Posts: 152
Received Thanks: 23
nein daran lags net :/
nitro2k is offline  
Old 07/18/2010, 12:42   #4
 
Endecs's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 2,256
Received Thanks: 2,348
Also ich hab das so in vb.net (noch von 3.3.3)

Code:
Dim playerbase = wow.ReadUInt(wow.ReadUInt(wow.ReadUInt(&HB366D0) + &H34) + &H24)
Dim Health = wow.readUInt(playerbase + &H19B8)
Dim MaxHealth = wow.ReadUInt(playerbase + &H19D8)


versuchs damit.
Endecs is offline  
Old 07/18/2010, 12:45   #5
 
nitro2k's Avatar
 
elite*gold: 0
Join Date: Apr 2006
Posts: 152
Received Thanks: 23
immernoch 0 hp
nitro2k is offline  
Old 07/18/2010, 13:48   #6
 
Pexus's Avatar
 
elite*gold: 57
Join Date: Apr 2008
Posts: 2,509
Received Thanks: 951
#moved
Pexus is offline  
Old 07/18/2010, 22:31   #7
 
nitro2k's Avatar
 
elite*gold: 0
Join Date: Apr 2006
Posts: 152
Received Thanks: 23
push
nitro2k is offline  
Old 07/20/2010, 10:02   #8
 
nitro2k's Avatar
 
elite*gold: 0
Join Date: Apr 2006
Posts: 152
Received Thanks: 23
push
nitro2k is offline  
Old 10/16/2013, 23:23   #9
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Es ist mir bewusst das die Leute hier nicht mehr aktiv sind, aber die Frage wird immer noch sehr oft gestellt und deswegen möchte ich das hier nicht unbeantwortet lassen für die Leute die die SuFu benutzen:
Code:
$dwHp = _MemoryRead($PlayerBaseStatic, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x34, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x24, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x8, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x17*4, $open, "dword")
MsgBox(0, "", "Du hast " & $dwHp & " Hp")
Wozu das *4? Habs da gelassen, da ich nicht weiß ob es stimmt.

Wenn du mit dem BasePointer weiterarbeitest dann verwendest du kein 4 Byte DWORD, deshalb ist der Typ den du mit _MemoryRead ausliest ein Pointer, letzendlich die letzte Zeile ist ein 4 Byte DWORD, da du hier die engültige Adresse aussiehst.
Außerdem heißt es nicht SetDebugPrivilege, sondern SeDebugPrivilege, man könnte unter Umständen #RequireAdmin benötigen, aber das ist bei vielen Spielen nicht der Fall.

Desweiteren kannst du auch einfach _MemoryPointerRead nehmen, dort ist $aErgebnis[UBound($aErgebnis) - 1] dein gewünschter Eintrag.

Da es ja jetzt gelöst wurde kann es geclosed werden.
alpines is offline  
Thanks
1 User
Old 10/17/2013, 11:47   #10
 
elite*gold: 15
Join Date: Aug 2012
Posts: 3,041
Received Thanks: 6,397
Quote:
Originally Posted by alpines View Post
Es ist mir bewusst das die Leute hier nicht mehr aktiv sind, aber die Frage wird immer noch sehr oft gestellt und deswegen möchte ich das hier nicht unbeantwortet lassen für die Leute die die SuFu benutzen:
Code:
$dwHp = _MemoryRead($PlayerBaseStatic, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x34, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x24, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x8, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x17*4, $open, "dword")
MsgBox(0, "", "Du hast " & $dwHp & " Hp")
Wozu das *4? Habs da gelassen, da ich nicht weiß ob es stimmt.

Wenn du mit dem BasePointer weiterarbeitest dann verwendest du kein 4 Byte DWORD, deshalb ist der Typ den du mit _MemoryRead ausliest ein Pointer, letzendlich die letzte Zeile ist ein 4 Byte DWORD, da du hier die engültige Adresse aussiehst.
Außerdem heißt es nicht SetDebugPrivilege, sondern SeDebugPrivilege, man könnte unter Umständen #RequireAdmin benötigen, aber das ist bei vielen Spielen nicht der Fall.

Desweiteren kannst du auch einfach _MemoryPointerRead nehmen, dort ist $aErgebnis[UBound($aErgebnis) - 1] dein gewünschter Eintrag.

Da es ja jetzt gelöst wurde kann es geclosed werden.
Thread is from 2010 ._.
berkay2578 is offline  
Thanks
1 User
Old 10/17/2013, 12:55   #11
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
I don't know if you understand german but I already mentioned it in my reply. Anyway, I think it can be closed now, the main reason I answered to this old topic is because it has more than thousand views so many people find this thread through the search on this site.
alpines is offline  
Old 10/17/2013, 13:53   #12
 
elite*gold: 15
Join Date: Aug 2012
Posts: 3,041
Received Thanks: 6,397
I don't speak German, still bumping a 3y/o thread even when you posted a solution just doesn't seem right.
berkay2578 is offline  
Old 10/17/2013, 18:41   #13


 
Lawliet's Avatar
 
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
Quote:
Originally Posted by berkay2578 View Post
Thread is from 2010 ._.
egal, solang das thema noch aktuell ist!
Lawliet is offline  
Old 10/17/2013, 19:38   #14
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
Quote:
Originally Posted by alpines View Post
Es ist mir bewusst das die Leute hier nicht mehr aktiv sind, aber die Frage wird immer noch sehr oft gestellt und deswegen möchte ich das hier nicht unbeantwortet lassen für die Leute die die SuFu benutzen:
Code:
$dwHp = _MemoryRead($PlayerBaseStatic, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x34, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x24, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x8, $open, "ptr")
$dwHp = _MemoryRead($dwHp + 0x17*4, $open, "dword")
MsgBox(0, "", "Du hast " & $dwHp & " Hp")
Wozu das *4? Habs da gelassen, da ich nicht weiß ob es stimmt.

Wenn du mit dem BasePointer weiterarbeitest dann verwendest du kein 4 Byte DWORD, deshalb ist der Typ den du mit _MemoryRead ausliest ein Pointer, letzendlich die letzte Zeile ist ein 4 Byte DWORD, da du hier die engültige Adresse aussiehst.
Außerdem heißt es nicht SetDebugPrivilege, sondern SeDebugPrivilege, man könnte unter Umständen #RequireAdmin benötigen, aber das ist bei vielen Spielen nicht der Fall.

Desweiteren kannst du auch einfach _MemoryPointerRead nehmen, dort ist $aErgebnis[UBound($aErgebnis) - 1] dein gewünschter Eintrag.

Da es ja jetzt gelöst wurde kann es geclosed werden.
Bei der NomadMemory.aue/Pointer.au3 macht es gar keinen Unterschied, ob man 'DWORD' oder 'ptr' verwendet. Einen Unterschied macht es nur bei 64 Bit Anwendungen, aber damit können beide genannten .au3's nicht umgehen.
'SeDebugPrivilege' gibt dem eigenen Prozess die Berechtigung zum debuggen von 'fremden' Anwendungen. Um welches Spiel es sich handelt ist IMMER egal.
Für den Zugriff auf dritte Programme (ReadProcessMemory/WriteProcessMemory) braucht man ohnehin Adminrechte.

Nicht _MemoryPointerRead() ist hier die bessere Wahl, sondern .
KDeluxe is offline  
Reply


Similar Threads Similar Threads
WoW Spellcooldown auslesen (AutoIT)
07/16/2010 - WoW Bots - 11 Replies
Hallo Ich würde gern meine Spell Cooldowns auslesen, hab dazu hab ich schon einiges gefunden, aber nur mit den alten Offsets, daher meine Frage: Hat hier jemand die aktuellen SpellCooldown Offsets oder weiß einer ob die stimmen die ich haben? spellsOnCooldown = 0x00D3F5A4 thx
AutoIt Code auslesen
07/12/2010 - AutoIt - 3 Replies
Hey, sagen wir ich lade mir im Internet einen Bot runter , der mit AutoIt geschrieben ist. Gibt es ein Pogramm oder sonstwas mti dem ich den Code lesen kann? Also falls ich die falschen Begirffe genommen habe (:D) , dass sehen kann was der Scripter geschrieben hat? MFG
Exp in Autoit oder C++ auslesen???
06/26/2010 - Metin2 - 2 Replies
Wie ließt man die Ep in Autoit oder C++ aus? Bitte um hilfe
[Frage]AutoIt auslesen
06/03/2010 - AutoIt - 7 Replies
moin moin, ich bin momentan dabei n AutoIt script zu erstellen. In diesem Script muss etwas aus einer txt datei ausgelesen werden. (kann auch varriereren) Jetzt habe ich 2 Probleme: 1. Es sollen die Angaben immer Zeielweise ausgelsesen werden. Also als erstes das was in der ersten Zeile steht, damit dann was machen, dann die nächste Zeile. Bei einer TXT Datei funktioniert die Formatierung bei mir nicht, d.h. sie spring immer zurück, und alles wird in die erste Zeile geschrieben
(Autoit) Wie Pointer auslesen ?
10/13/2009 - General Coding - 6 Replies
Hiho... Ich progge gerade an einem bot und habe nur ein problem... Ich hab mit CE nen pointer für die HP gefunden... In diesem fall: game.dat+0037CC28 offset: 13C Hab aber bis jetzt keine funktionierende möglichkeit gefunden das in Autoit auszulesen... Kann mir pls einer verraten wie das geht ?



All times are GMT +1. The time now is 06:09.


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.