Register for your free account! | Forgot your password?

You last visited: Today at 16:56

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

 

WoW-Bot selber schreiben

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jun 2008
Posts: 7
Received Thanks: 0
WoW-Bot selber schreiben

Hallo, ich probiere seit Tagen selber einen Bot zu schreiben. Dabei bin ich kein Anfänger und kenne mich sehr gut in C und der WinAPI aus.
Bisher habe ich einen Autoclicker für meine Zauber gebastelt, damit ich nicht ständig die selben Tasten drücken muss.
Nun möchte ich doch etwas mehr Flexibilität rein bringen, z.B. automatisch das Mob wechseln wenn das alte tot ist.
Da stellt sich mir aber nun die Frage wie ich an diese Informationen komme.
Ich denke mal die sind im Speicher aber ich bräuchte einen Anhaltspunkt wie ich danach suche, bzw. wie ich an die richtigen Werte komme.
Da kommt dann auch ein weiteres Problem, denn die Lebenspunkte und die Manapunkte sind afaik Serverseitig gespeichert und somit nicht im Speicher zu finden (oder sind die zu finden und nur nicht editierbar?).

Ich hoffe mir wird hier etwas geholfen.

Greetz,
enco



enco is offline  
Old   #2
 
elite*gold: 19
Join Date: Aug 2007
Posts: 4,432
Received Thanks: 872
mach das ganze doch nur oberflächlich. wenn dein mana zb low geht kann man das visuel erkennen und der bot handelt dann. gleiche beim mob. wenn mob auf 0% ist = erkennen = nächster mob


Rammsteiner is offline  
Old   #3
 
elite*gold: 20
Join Date: Dec 2006
Posts: 839
Received Thanks: 91
HP und MP werden mit dem Server abgeglichen. Da sie aber clientseitig angezeigt werden (d'oh!) werden sich die entsprechenden Werte auch im Speicher finden.

Es gibt hier im Forum genügend Links zu anderen Seiten, insbesondere im Gamehacking-Bereich, die dir in dieser Sache weiterhelfen sollte. So dass es wohl unnötig wäre, das alles hier nochmals aufzugreifen.
Assass1n is offline  
Old   #4
 
elite*gold: 0
Join Date: Apr 2005
Posts: 745
Received Thanks: 668
Jo also entweder nimmst du dir die Werte aus dem Speicher oder eben vom Bildschim wie schon richtig gesagt.
Also wenn ich sowas mach, dann meist mit AutoIt, da ich zu 90% sagen kann, dass AutoIt nicht als ThirdParty rausgekickt wird.

Bei nem eigenen C-Programm, das auchnoch auf den Speicher zugreift(zwar nur lesen aber trozdem Risiko) Wer weiß wie sich Warden da verhält.

In AutoIt kannst du das ganze mit PixelSearch machen.
Das benutz ich z.B. auf für den Fish-Bot.

Syntax:
PixelSearch ( left, top, right, bottom, color [, shade-variation][, step]] )

Beispiel:
$coord = PixelSearch( 0, 0, 20, 300, 0xFF0000, 10 )
If Not @error Then
MsgBox(0, "X and Y are:", $coord[0] & "," & $coord[1])
EndIf

Das ganze sucht nen roten Pixel mit einertoleranz von 10.
Die ersten 4 Werte sind die Bereich in dem er sucht.
Der 5. Wert is die Farbe nach der gesucht wird.

Wenn zu jetzt z.B. HP auslesen wilst kannst du auch einfach PixelGetColor benutzen um an einer ganz bestimmten Stelle die Farbe auszulesen.
z.B. im HP-Balken vom Gegner oder in deinem um nen Trank zu schlucken oder um nach dem Kampf zu essen/trinken.

Die Funktionen gibts natürlich auch in C.

Hoffe das hat dir ein bissel geholfen.


Sordi is offline  
Old   #5
 
elite*gold: 0
Join Date: Jun 2008
Posts: 7
Received Thanks: 0
Danke aber eine Frage hätte ich dazu. Ich kann nirgends ein Handle finden also gehe ich davon aus, dass das Fenster immer im Vordergrund sein muss, richtig?
enco is offline  
Old   #6
 
elite*gold: 0
Join Date: Apr 2005
Posts: 745
Received Thanks: 668
Jo das is halt der Nachteil an AutoIt in dem Fall. Es lies die ja die aktuelle Pixel-Farbe aus die dort angezeigt ist.
Man kann nur Tastendrückedirekt an das WoW-Fenster schicken.

Du kannst aber mit AutoIt auch die Memory von WoW auslesen/verändern btw.
Sordi is offline  
Old   #7
 
elite*gold: 0
Join Date: Aug 2006
Posts: 505
Received Thanks: 89
Das nur oberflächlich zu machen ist wohl die dümmste Idee.

Sobald jemand ein anderes Interface hat kannst du den Bot vergessen.
Dass das Fenster immer aktiv sein müss ist auch nicht grade eine positive Eigenschaft eines Bots.

Machs am besten über den Speicher, allzu schwer ist das nicht, wenn du dich halbwegs damit auskennst und fähig bist entsprechende Adressen/Pointer herauszufinden.

Ein Thread der mir geholfen hat:
kennyo is offline  
Old   #8
 
elite*gold: 0
Join Date: Apr 2005
Posts: 745
Received Thanks: 668
Quote:
Originally Posted by kennyo View Post
Das nur oberflächlich zu machen ist wohl die dümmste Idee.

Sobald jemand ein anderes Interface hat kannst du den Bot vergessen.
Dass das Fenster immer aktiv sein müss ist auch nicht grade eine positive Eigenschaft eines Bots.

Machs am besten über den Speicher, allzu schwer ist das nicht, wenn du dich halbwegs damit auskennst und fähig bist entsprechende Adressen/Pointer herauszufinden.

Ein Thread der mir geholfen hat:
Du du kennst dich ja da am besten aus gelle? xD
Zum Thema Interface kann man auch eine setupfunktion einbauen. Hab ich bei meinen Bots auch schon gemacht. Einfach mit der Maus auf die stelle und ne testenkombination zack hast du den bot eingerichtet.

Und wenn du mit Speichergeschichten anfängst dann kannst du dir schonmal gedanken machen wie du warden dabei umgehst. An den Speicherschicken is net so das Problem, da hast du recht aber das so zumachen dass du net gleich gebannt wirst is wieder was anderes. Also is Speichernutzung bei WoW wohl die "dümmste Idee", aber wenn du das kannst mach doch einen für uns.

Edit: Btw gehts bei deinem Link hauptsächlich ums Speicher AUSLESEN, was nicht so riskant is.
Aber Befehle an den Speicher senden is was anderes. Siehe WoW!Sharp. Kaum war Warden da wurden alle User der Reihe nach gebannt...warum nur? Wow!Sharp konnte man schön im minimierten Fensterlaufen lassen weil den Speicher verändert hat.
Sordi is offline  
Old   #9
 
elite*gold: 105
Join Date: Mar 2007
Posts: 5,073
Received Thanks: 558
Wer redet denn auch davon in den Speicher zu schreiben ? Und vom Speicher lesen ist nicht besonders gefährlich, da es für eininge Programme natürlich ist im Speicher zu lesen(Antiviren - Software). Wiederrum sollte man das schreiben in den Speicher vermeiden, da das nicht "natürlich" ist.
BlackFog is offline  
Old   #10
 
elite*gold: 0
Join Date: Mar 2009
Posts: 36
Received Thanks: 1
ich raffs nicht
LAMIKA is offline  
Old   #11
 
elite*gold: 0
Join Date: Apr 2007
Posts: 943
Received Thanks: 132
Die Werte kannst du ohne Probleme aus WoW auslesen.(ebenso alle möglichen Mob Positionen etc).

Die besten Infos kriegste eigentlich in der Memory Editing Sektion von ****** (ich kann dir bei TLS Implementation etc aber auch helfen).

Ich würde erstmal einen Radar bzw InfoTool schreiben dass dir alle Mobs inner Umgebung anzeigt.

P.S PixelSearch is kagge : P
12354 is offline  
Old   #12
 
elite*gold: 0
Join Date: Jun 2008
Posts: 7
Received Thanks: 0
Danke erstmal für eure Hilfe und Ideen, aber ich habe mich für die Speichervarainte entschieden.
Jetzt hänge ich aber an einem Punkt fest.
Wie bekomme ich von der dynamischen Adresse eine statische, die ich in meinem Programm nutzen kann?

Beispielsweise möchte ich die HP auslesen, habe davon dann auch die dynamische Adresse gefunden.
Nachdem ich gescannt habe welche Adressen auf die dynamische Adresse schreiben erhielt ich folgende Zeile:
Quote:
006253cc - 89 0c 90 - mov [eax+edx*4],ecx
Jetzt habe ich die Werte aus eax, ecx und edx eingesetzt und das ganze mal ausgerechnet:
Quote:
[eax + edx * 4], ecx

eax = 1F442648
edx = 0x58
ecx = 0x3DC50

[0x1F442648 + 0x16 * 4], 0x3DC50
[0x1F442648 + 0x58], 0x3DC50
Jetzt weiß ich nur noch nicht ganz was ich mit dem Ergebnis anfangen kann, eine Idee habe ich. Ich denke, dass 0x1F442648 die Adresse (Pointer? Basis?) darstellt und 0x58 der Offset ist.

Bitte klärt mich auf.
enco is offline  
Old   #13
 
elite*gold: 0
Join Date: Apr 2007
Posts: 943
Received Thanks: 132
Wie gesagt ich würde es mit der TLS Methode machen

Dabei bekommste einen Pointer der zum ersten Objekt(Mob,GameObject etc) zeigt , dann kannste ein spezielles Offset zur Adresse des ersten Objekts dazuaddieren und bekommst darauf z.B die HP oder das Target.
Das ganze kannste dir als linked list vorstellen -> jedes Objekt hat n Pointer zum nächsten Objekt -> du kannst durch alle Objekte gehen und z.b dein Target nehmen.

Is im Prinzip recht einfach.
12354 is offline  
Old   #14
 
elite*gold: 0
Join Date: Jun 2008
Posts: 7
Received Thanks: 0
Das klingt sehr gut, TLS sagst du .. Danach suche ich gleich mal!
Also angenommen ich finde diese Startadresse von der aus gerechnet wird, die ist doch bei jeder WoW-Version gleich, also auf jedem PC bei ner 2.4.3er ist die Adresse gleich, oder?
Wenn das so ist und die Offsets auch stimmen sollte ich doch irgendwo eine Liste finden können und die benutzen, oder nicht?

Soviele Fragen, ich hoffe ich gehe euch nicht allzusehr auf die Nerven ^^
Ich suche gleich mal nach diesem TLS. Danke für den Tipp!
enco is offline  
Old   #15
 
elite*gold: 0
Join Date: Apr 2005
Posts: 745
Received Thanks: 668
Jo sollten identisch sein.
Hier mal ein paar offsets. Dazukommt dan die base des objekts:

Position X = 0x7D0
Position Y = 0x7D4
Position Z = 0x7D8
Aggro oder nicht = 0x7DC
Momentane HP = 0xFF4

Um die PlayerBase zu bekommen benutz ich in AutoIt den Code:

Func _WoWPlayerBase($handle)
$Pointerlvl1 = _MemoryRead(0x0127F13C,$handle,'ptr') ;(p)
$Pointerlvl2 = _MemoryRead($Pointerlvl1 + 0x30,$handle,'ptr')
$pBase = _MemoryRead($Pointerlvl2 + 0x28,$handle,'ptr')
return $pBase
EndFunc

Funktioniert also ca wie 12354 gesagt hat über mehrere Ebenen. Ich denkdürfte kein Problemsein das in C zu übersetzen. Müsst mal gucken wie die anderen Offsets sind wenn du mehr brauchst.


Sordi is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
Bot/Script selber schreiben
Huhu ich wollte mal euch fragen mit was für eine Progie man überhaupt so einen bot/script für GW schrieben kann? es ist einfach sowas zu...
16 Replies - Guild Wars
Macros Selber schreiben
Mit welchem Programm kann man eigene Macros schreiben ? Kein AutoIT !
4 Replies - 4Story
hack selber für crossfire schreiben??
hy kenne mich mit c (einigermaßen )aus ;) nun wollte ich mal fragen wo ich mir einen hack für crossfire erstellen kann??(miit was für einem...
10 Replies - CrossFire
Selber Hack schreiben Help My you !
Also Ich wollte für 4s einen hack schreiben Zuerst habe ich Mit Flahs Games Angefangen Das Problem Ist das sich die adresse bei jedem Spiel...
8 Replies - 4Story



All times are GMT +2. The time now is 16:56.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy
Copyright ©2017 elitepvpers All Rights Reserved.