MMOwned - World of Warcraft Exploits, Hacks, Bots and Guides

Homepage Register FAQ Members Mark Forums Read Advertise Marketplace FPSowned


Go Back   MMOwned - World of Warcraft Exploits, Hacks, Bots and Guides > World of Warcraft > Bots and Programs > WoW Memory Editing
Reload this Page How to read events?
WoW Memory Editing WoW Memory Editing for learning purposes only.

Reply
 
LinkBack Thread Tools
How to read events?
(#1)
Old
akh is Offline
Site n00b.. (A leecher if I've been here for more than a month and can't earn 5 rep)
Rep Power: 1
Reputation: 1
akh is an unknown quantity at this point
 
Posts: 8
Join Date: Mar 2008
How to read events? - 07-22-2008

hi..

Ive been trying to find some pointer to the events that occur in wow. At the moment I have the pointer to the COMBAT_LOG_EVENTs, but what im really looking for is a way to read to read all of the events, especially UNIT_SPELLCAST_SENT, UNIT_SPELLCAST_START and UNIT_SPELLCAST_DELAYED. The reason that I want to read these events is that I want to make program that can spam shadow bolts and take lag into account, somewhat like the add-on [Only registered and activated users can see links. ] does.

The pointer to the list with COMBAT_LOG_EVENTs is 0x00BA577C if someone is interrested.
Reply With Quote

Donate to remove ads.
(#2)
Old
Cypher's Avatar
Cypher is Offline
Kynox's Pimp OMGRECURSION
Legendary User
Rep Power: 8
Reputation: 781
Cypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to behold
 
Posts: 1,807
Join Date: Apr 2006
Location: Hiding in ur warden
07-22-2008

If you're using an injected DLL just hook the BroadcastEvent function.

0x00707850 -> BroadcastEvent

As for out of process reading, no idea sorry.




Yes my old nick was Chazwazza, stop asking >.<
Reply With Quote
(#3)
Old
hfs's Avatar
hfs is Offline
Corporal
Rep Power: 1
Reputation: 35
hfs is on a distinguished road
 
Posts: 31
Join Date: Jul 2008
Location: UK
07-25-2008

If you cant be assed with a .dll for it, (since you'll be wanting a GUI anyway, right?) I'd reccomend wedging a codecave in there...

I've used them to read events in other games, basically by doing a findwindow(my_app) , and sendmessage(my_app, wm_user+x, wparam,lparam),
or a wm_copydata sruct...

It's hellishly easy , and a good way to read suff from the stack, since both sendmessage/copydata wait for a reply before continuing the thread..

So, i'm thinking, if you run a couple traces to see what's going on, what registers/stack is imporant etc (at the broadcast funcion cypher menioned), your app can read and process it all.. etc...


For the record he OpenGL.dll is a good place to put your own code, since.. well.. when the hell's that gonna be used? And the version check doesn't check here.

(Excuse me if this is badly worded/completely out of context, it's like 8am and I can' sleep right now, lol.)
Reply With Quote
(#4)
Old
Cypher's Avatar
Cypher is Offline
Kynox's Pimp OMGRECURSION
Legendary User
Rep Power: 8
Reputation: 781
Cypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to behold
 
Posts: 1,807
Join Date: Apr 2006
Location: Hiding in ur warden
07-25-2008

Quote:
Originally Posted by hfs View Post
If you cant be assed with a .dll for it, (since you'll be wanting a GUI anyway, right?) I'd reccomend wedging a codecave in there...

I've used them to read events in other games, basically by doing a findwindow(my_app) , and sendmessage(my_app, wm_user+x, wparam,lparam),
or a wm_copydata sruct...

It's hellishly easy , and a good way to read suff from the stack, since both sendmessage/copydata wait for a reply before continuing the thread..

So, i'm thinking, if you run a couple traces to see what's going on, what registers/stack is imporant etc (at the broadcast funcion cypher menioned), your app can read and process it all.. etc...


For the record he OpenGL.dll is a good place to put your own code, since.. well.. when the hell's that gonna be used? And the version check doesn't check here.

(Excuse me if this is badly worded/completely out of context, it's like 8am and I can' sleep right now, lol.)

Errr, injected DLLs can have GUIs. You can do it in DirectX, use an existing system like CEGUI, or use WoW's LUA engine like I do. All of those approaches are much better than a GUI hosted externally because you get the advantage of tighter integration without the need to alt+tab to control the GUI.




Yes my old nick was Chazwazza, stop asking >.<
Reply With Quote
(#5)
Old
hfs's Avatar
hfs is Offline
Corporal
Rep Power: 1
Reputation: 35
hfs is on a distinguished road
 
Posts: 31
Join Date: Jul 2008
Location: UK
07-25-2008

heh, i guess it's just comes down to preference/comfort then...
No intentions of ever learning lua, or creating a pretty directx overlay and sorting out interaction..
Also, it just seems a lot easier than constantly injecting/removing your .dll(s) and recompiling etc, and for catching errors that would otherwise be a bit of a nuissance.

And err, on the plus side, I leave my proggies running with the debuggers on the other screen, hehe

just more comfortable with that approach =)
Reply With Quote
(#6)
Old
Cypher's Avatar
Cypher is Offline
Kynox's Pimp OMGRECURSION
Legendary User
Rep Power: 8
Reputation: 781
Cypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to behold
 
Posts: 1,807
Join Date: Apr 2006
Location: Hiding in ur warden
07-25-2008

Quote:
Originally Posted by hfs View Post
heh, i guess it's just comes down to preference/comfort then...
No intentions of ever learning lua, or creating a pretty directx overlay and sorting out interaction..
Also, it just seems a lot easier than constantly injecting/removing your .dll(s) and recompiling etc, and for catching errors that would otherwise be a bit of a nuissance.

And err, on the plus side, I leave my proggies running with the debuggers on the other screen, hehe

just more comfortable with that approach =)

"Constantly injecting/removing your dlls" takes just as long as injecting code into a code cave.... Also, I don't know what you mean about 'catching errors', debugging is easier with a DLL than with a code cave because you have full access to symbolic information for the dll in your debugger. Also, you don't need to 'learn directx', CEGUI does 99% of the work for you, the rest you need can be found on GameDeception.




Yes my old nick was Chazwazza, stop asking >.<
Reply With Quote
(#7)
Old
hfs's Avatar
hfs is Offline
Corporal
Rep Power: 1
Reputation: 35
hfs is on a distinguished road
 
Posts: 31
Join Date: Jul 2008
Location: UK
07-25-2008

"Constantly injecting/removing your dlls" takes just as long as injecting code into a code cave"

-Heh, nah, I like doing it on the fly with the debugger, I work faster that way.

"what you mean about 'catching errors', debugging is easier"

-I'm meaning basic arithmetic errors that for example would crash WoW to the debugger, pain in the ass to recover, and relog if there's a certian part annoying you, whereas the delphi IDE will take you there faster..

Don't get me wrong, I've written a packet monitor/modifier/dumper with gui in .dll form, but, I just really prefer storing/sorting as much as possible externally =)

And for the record, i didn't say "learn directx" i said LUA, but I'll deffinitely check out CEGUI!
Reply With Quote
(#8)
Old
Cypher's Avatar
Cypher is Offline
Kynox's Pimp OMGRECURSION
Legendary User
Rep Power: 8
Reputation: 781
Cypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to behold
 
Posts: 1,807
Join Date: Apr 2006
Location: Hiding in ur warden
07-25-2008

Quote:
Originally Posted by hfs View Post
"Constantly injecting/removing your dlls" takes just as long as injecting code into a code cave"

-Heh, nah, I like doing it on the fly with the debugger, I work faster that way.

"what you mean about 'catching errors', debugging is easier"

-I'm meaning basic arithmetic errors that for example would crash WoW to the debugger, pain in the ass to recover, and relog if there's a certian part annoying you, whereas the delphi IDE will take you there faster..

Don't get me wrong, I've written a packet monitor/modifier/dumper with gui in .dll form, but, I just really prefer storing/sorting as much as possible externally =)

And for the record, i didn't say "learn directx" i said LUA, but I'll deffinitely check out CEGUI!
Doing it 'only the fly with the debugger' would take about 10x as long as running my loader which pretty much instantly injects the DLL into the
process and (if you choose) unload any already injected copies.

As for your "basic arithmetic errors that crash WoW" i have noooo idea what you're on about.

Trust me, if you prefer having your GUI external and injecting code by hand you've obviously never had a proper setup before.




Yes my old nick was Chazwazza, stop asking >.<
Reply With Quote
(#9)
Old
akh is Offline
Site n00b.. (A leecher if I've been here for more than a month and can't earn 5 rep)
Rep Power: 1
Reputation: 1
akh is an unknown quantity at this point
 
Posts: 8
Join Date: Mar 2008
07-25-2008

Thanks for the replies. I hoped that I could do this without injection, but it seems that this is the easiest way to do it. I tried to go to gameDeception.net and download the WoWXbase by Bobbysing. I got it compiled and running, but after 1 or 2 mins I got disconnected and couldnt log in. The same thing happend once more when I tried it on an other trail-acount. The WoWX I downloaded was for 2.4.1, that might be why my accounts got closed. Any idear how to get arround this problem?.. maybe there is some newer release of WoWX.
Reply With Quote
(#10)
Old
Cypher's Avatar
Cypher is Offline
Kynox's Pimp OMGRECURSION
Legendary User
Rep Power: 8
Reputation: 781
Cypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to behold
 
Posts: 1,807
Join Date: Apr 2006
Location: Hiding in ur warden
07-25-2008

There are no updates for it but its fairly easy to update on your own.




Yes my old nick was Chazwazza, stop asking >.<
Reply With Quote
(#11)
Old
hfs's Avatar
hfs is Offline
Corporal
Rep Power: 1
Reputation: 35
hfs is on a distinguished road
 
Posts: 31
Join Date: Jul 2008
Location: UK
07-25-2008

Quote:
Originally Posted by Cypher View Post
Doing it 'only the fly with the debugger' would take about 10x as long as running my loader which pretty much instantly injects the DLL into the
process and (if you choose) unload any already injected copies.

As for your "basic arithmetic errors that crash WoW" i have noooo idea what you're on about.

Trust me, if you prefer having your GUI external and injecting code by hand you've obviously never had a proper setup before.
Lol, i know how easy it is to loadlib/unloadlib... still don't like it =)

Akh:
Might be a silly question, but did you remember to change any telltale strings/classes that might have tipped warden off?
Reply With Quote
(#12)
Old
Cypher's Avatar
Cypher is Offline
Kynox's Pimp OMGRECURSION
Legendary User
Rep Power: 8
Reputation: 781
Cypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to behold
 
Posts: 1,807
Join Date: Apr 2006
Location: Hiding in ur warden
07-26-2008

Quote:
Originally Posted by hfs View Post
Lol, i know how easy it is to loadlib/unloadlib... still don't like it =)

Akh:
Might be a silly question, but did you remember to change any telltale strings/classes that might have tipped warden off?
Errr, as long as your DLL isn't made public there are no 'telltale strings'. If you're publicizing your DLL you'll want to hook functions like Module32Next etc to unlink your moule from the lists, or use ManualMapping.




Yes my old nick was Chazwazza, stop asking >.<
Reply With Quote
(#13)
Old
kynox's Avatar
kynox is Offline
Cypher's Pimp

Rep Power: 5
Reputation: 523
kynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of light
 
Posts: 263
Join Date: Dec 2006
Location: Raping your Stack
07-26-2008

Quote:
or use ManualMapping.


You'll want to make sure you null your PE Header after its loaded, otherwise warden will still scan it by finding its Header in the Section List.


Do not PM me about the ME fix or other ME questions
Reply With Quote
(#14)
Old
Cypher's Avatar
Cypher is Offline
Kynox's Pimp OMGRECURSION
Legendary User
Rep Power: 8
Reputation: 781
Cypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to beholdCypher is a splendid one to behold
 
Posts: 1,807
Join Date: Apr 2006
Location: Hiding in ur warden
07-26-2008

Quote:
Originally Posted by kynox View Post
You'll want to make sure you null your PE Header after its loaded, otherwise warden will still scan it by finding its Header in the Section List.
[/color]

How about i null YOUR BRAIN! Wait, that was already null.




Yes my old nick was Chazwazza, stop asking >.<
Reply With Quote
(#15)
Old
kynox's Avatar
kynox is Offline
Cypher's Pimp

Rep Power: 5
Reputation: 523
kynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of lightkynox is a glorious beacon of light
 
Posts: 263
Join Date: Dec 2006
Location: Raping your Stack
07-26-2008

Quote:
Originally Posted by Cypher View Post
How about i null YOUR BRAIN! Wait, that was already null.
You can't null protected memory without first setting permissions. I have a brain0 driver in place to prevent such things you see..


Do not PM me about the ME fix or other ME questions
Reply With Quote
Reply

Donate to remove ads.

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are On




Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
vBulletin Skin developed by: vBStyles.com


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286