Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 12:38

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

Advertisement



WoW Movement States, schlüssel zum Flughack

Discussion on WoW Movement States, schlüssel zum Flughack within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 20
Join Date: Sep 2006
Posts: 1,100
Received Thanks: 184
WoW Movement States, schlüssel zum Flughack

In WoW werden die Movment States als Byte Mask gespeichert und auch verschickt, man kommt ganz Leicht an die Speicher Position dieser Byte Mask
Man nehme den Pointer [0xE8EEF4] und addiere 0xc20 zu dem Offset auf das er Zeigt, schon ist man dort.
Das erste byte ist für bewegungen da wie, Forwärts Rückrwärts, Links Rechts, Hoch und Runter.
Das Folgende Enum ist c&p, aber ich kann zu großenteilen auch die Unconfirmed sachen bestätigen
Quote:
enum MovementFlags
{
// Byte 1 (Resets on Movement Key Press)
MOVEFLAG_MOVE_STOP = 0x00, //verified
MOVEFLAG_MOVE_FORWARD = 0x01, //verified
MOVEFLAG_MOVE_BACKWARD = 0x02, //verified
MOVEFLAG_STRAFE_LEFT = 0x04, //verified
MOVEFLAG_STRAFE_RIGHT = 0x08, //verified
MOVEFLAG_TURN_LEFT = 0x10, //verified
MOVEFLAG_TURN_RIGHT = 0x20, //verified
MOVEFLAG_PITCH_DOWN = 0x40, //Unconfirmed
MOVEFLAG_PITCH_UP = 0x80, //Unconfirmed

// Byte 2 (Resets on Situation Change)
MOVEFLAG_WALK = 0x100, //verified
MOVEFLAG_TAXI = 0x200,
MOVEFLAG_NO_COLLISION = 0x400,
MOVEFLAG_FLYING = 0x800, //verified
MOVEFLAG_REDIRECTED = 0x1000, //Unconfirmed
MOVEFLAG_FALLING = 0x2000, //verified
MOVEFLAG_FALLING_FAR = 0x4000, //verified
MOVEFLAG_FREE_FALLING = 0x8000, //half verified

// Byte 3
MOVEFLAG_TB_PENDING_STOP = 0x10000, // (MOVEFLAG_PENDING_STOP)
MOVEFLAG_TB_PENDING_UNSTRAFE = 0x20000, // (MOVEFLAG_PENDING_UNSTRAFE)
MOVEFLAG_TB_PENDING_FALL = 0x40000, // (MOVEFLAG_PENDING_FALL)
MOVEFLAG_TB_PENDING_FORWARD = 0x80000, // (MOVEFLAG_PENDING_FORWARD)
MOVEFLAG_TB_PENDING_BACKWARD = 0x100000, // (MOVEFLAG_PENDING_BACKWARD)
MOVEFLAG_SWIMMING = 0x200000, // verified
MOVEFLAG_FLYING_PITCH_UP = 0x400000, // (half confirmed)(MOVEFLAG_PENDING_STR_RGHT)
MOVEFLAG_TB_MOVED = 0x800000, // (half confirmed) gets called when landing (MOVEFLAG_MOVED)

// Byte 4 (Script Based Flags. Never reset, only turned on or off.)
MOVEFLAG_AIR_SUSPENSION = 0x1000000, // confirmed allow body air suspension(good name? lol).
MOVEFLAG_AIR_SWIMMING = 0x2000000, // confirmed while flying.
MOVEFLAG_SPLINE_MOVER = 0x4000000, // Unconfirmed
MOVEFLAG_IMMOBILIZED = 0x8000000,
MOVEFLAG_WATER_WALK = 0x10000000,
MOVEFLAG_FEATHER_FALL = 0x20000000, // Does not negate fall damage.
MOVEFLAG_LEVITATE = 0x40000000,
MOVEFLAG_LOCAL = 0x80000000, // This flag defaults to on. (Assumption)

// Masks
MOVEFLAG_MOVING_MASK = 0x03,
MOVEFLAG_STRAFING_MASK = 0x0C,
MOVEFLAG_TURNING_MASK = 0x30,
MOVEFLAG_FALLING_MASK = 0x6000,
MOVEFLAG_MOTION_MASK = 0xE00F, // Forwards, Backwards, Strafing, Falling
MOVEFLAG_PENDING_MASK = 0x7F0000,
MOVEFLAG_PENDING_STRAFE_MASK = 0x600000,
MOVEFLAG_PENDING_MOVE_MASK = 0x180000,
MOVEFLAG_FULL_FALLING_MASK = 0xE000,
};
Da fehlen zwar noch ein paar Movent States aber das ist nicht so wichtig.
Ausgerüstet mit diesen Informationen kann man sich jetzt wpe pro filter basteln, oder aber man versucht herauszu bekommen welche Funktion aufgerufen wird wenn man Schwimmt und eben diese durch verändurng von Opcodes zu erzwingen, dadurch sollte man Fliegen können ohne ein verändertes Movement State an den Server zu schicken.

Ich würde davon ausgehen das es eine Funktion gibt welche die Byte Mask mit Constanten vergleicht und dann die entsprechenden Funktionen ausführt, ausserdem gibt es Funktionen welche die Byte Mask verändern, wenn man jetzt nur einen Memory Read/write Breakpoint auf die 4 Bytes des Movement States setzt, wird ein ganzer Wald an Funktionen auftauchen, für jede Bewegung gibt es eine Funktion, jetzt kann man sich ja ausrechnen wieviele da kommen.
Und genau dort ist das Problem, wie findet man unter all den Funktionen die welche für das Schwimmen zu ständig ist, also die Funktion die das 3te Byte auf 0x2 setzt?
Bot_interesierter is offline  
Old 06/01/2008, 15:22   #2
 
elite*gold: 0
Join Date: Mar 2008
Posts: 34
Received Thanks: 5
Alle Lua-Funktionen, die für die Bewegung zuständig sind, rufen eine Funktion der CInputControl Klasse auf, welche man als SetMovementFlag bezeichnen könnte. Diese Funktion dürfte dir dabei weiterhelfen.
Bosin is offline  
Reply


Similar Threads Similar Threads
Kostenloser Flughack
02/01/2010 - General Gaming Discussion - 1 Replies
Hi, ich wollte mal fragen ob es einen kostenlosen funktionierenden Flug-Hack für warhammer gibt. Will den Tal des Jägers umhang mir holen und die random Gruppen treiben mich in den Wahnsinn. Ich hoffe ihr könnt mir helfen.
[S]schlüssel
09/14/2008 - Archlord - 4 Replies
kann mir einer schnell nen akti schlüssel geben:)? danke
Bot Schlüssel
07/23/2007 - WoW Bots - 5 Replies
Ich wollte fragen ob es einen gibt der seinen Glider Bot Schlüssel nicht mehr brauch und in mir geben würde wen ich lieb frage :) *lieb frag* wen ja bitte per PM schicken DANKE
Key/Schlüssel + Tor/Tür?
12/07/2006 - WoW Private Server - 1 Replies
Hiho Also: ich möchte auf meinen Server ein Tor mit einen Eigenen Schlüssel haben (also nicht die Standart dinger sowie des Stratholme tor usw) nun weiß ich leider nicht wie ich das mache das des auch funzt :cry: pls hlp^^ PS: Habe UWC1.3.4 mfg Scir0 :D



All times are GMT +2. The time now is 12:38.


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.