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 WoW Modification Journal
WoW Memory Editing WoW Memory Editing for learning purposes only.

Reply
 
LinkBack Thread Tools
Great stuff!
(#16)
Old
haavis is Offline
Site n00b.. (A leecher if I've been here for more than a month and can't earn 5 rep)
Rep Power: 0
Reputation: 1
haavis is an unknown quantity at this point
 
Posts: 1
Join Date: Jul 2006
Great stuff! - 06-23-2008

I've been lurking these forums for quite some time now, without posting anything, but this deserves a reply!

I've been tinkering with the same things you are now for some time now, and I must say, this is ace : ) You are really contributing with a lot of great stuff, in an easy to understand and with a sound and humble approach.

Oh, and that sounded like a great weekend ^_^

Keep up the great work, I hope to see a lot of posts in the future. I would love to be able to comment on the blog itself, but it seems as if I have to log in to do so?

Anyway, all praise
Reply With Quote

Donate to remove ads.
(#17)
Old
Shynd's Avatar
Shynd is Offline
Master Sergeant
Rep Power: 1
Reputation: 26
Shynd is on a distinguished road
 
Posts: 120
Join Date: May 2008
06-23-2008

Yeah, I disabled anonymous comments because I cannot stand getting spammed by random people. Anyone with anything important to say will register to say it.

And I thank you for your appreciation.
Reply With Quote
(#18)
Old
Shynd's Avatar
Shynd is Offline
Master Sergeant
Rep Power: 1
Reputation: 26
Shynd is on a distinguished road
 
Posts: 120
Join Date: May 2008
06-27-2008

Journal updated: [Only registered and activated users can see links. ]


Kynox, bobbysing, anyone else: How detectable would the above method be by Warden? I've heard Warden executes every ~15 seconds, does it iterate through all memory blocks and scan them and, if so, what does it scan them for? Relative calls to the client memory space? Would one be better off to leave the code injected and just disguise it until it needs to be called, then suspend all threads, patch the correct code back in, call it, and patch it out? I'm really in the dark as to what Warden will and won't detect. I'm operating on the assumption that it has blacklist hashes that it compares memory to, but I'm not sure and not willing to bet my account on it =p

Last edited by Shynd; 06-27-2008 at 08:21 AM.
Reply With Quote
(#19)
Old
Thybhalt 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: 3
Thybhalt is an unknown quantity at this point
 
Posts: 12
Join Date: Jun 2008
06-27-2008

Quote:
Originally Posted by blizzo View Post
* Credit kynox for this info *

At ObjectBase + 0014h there is a DWORD of the type of object that you are looking at:
Code:
enum ObjectType { ITEM = 1, CONTAINER, UNIT, PLAYER, GAMEOBJ, DYNOBJ, CORPSE };
Some objects, items, etc. won't have a real world location.
I'm wonderd that Corpse, DynObj, and GameObjs don't have a x, y and z position,
Corpse is the Corpse of a player, right ? But they must have coordinates... I think they have only other Offsets. Could you agree me ? =)

Sorry for my Bad English =)
Reply With Quote
(#20)
Old
kynox's Avatar
kynox is Offline
Cypher's Pimp

Rep Power: 5
Reputation: 529
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: 305
Join Date: Dec 2006
Location: Raping your Stack
06-27-2008

Quote:
Originally Posted by Shynd View Post
Journal updated: [Only registered and activated users can see links. ]


Kynox, bobbysing, anyone else: How detectable would the above method be by Warden? I've heard Warden executes every ~15 seconds, does it iterate through all memory blocks and scan them and, if so, what does it scan them for? Relative calls to the client memory space? Would one be better off to leave the code injected and just disguise it until it needs to be called, then suspend all threads, patch the correct code back in, call it, and patch it out? I'm really in the dark as to what Warden will and won't detect. I'm operating on the assumption that it has blacklist hashes that it compares memory to, but I'm not sure and not willing to bet my account on it =p
Warden's main plan of attack is hashing bytes at relative offsets to modules and each page, and comparing them to "bad" hashes.

Seeing as VirtualAllocEx is giving you a different address each time, i would say your detection levels are quite low.


Do not PM me about the ME fix or other ME questions
Reply With Quote
(#21)
Old
Shynd's Avatar
Shynd is Offline
Master Sergeant
Rep Power: 1
Reputation: 26
Shynd is on a distinguished road
 
Posts: 120
Join Date: May 2008
06-28-2008

Quote:
Originally Posted by Thybhalt View Post
I'm wonderd that Corpse, DynObj, and GameObjs don't have a x, y and z position,
Corpse is the Corpse of a player, right ? But they must have coordinates... I think they have only other Offsets. Could you agree me ? =)

Sorry for my Bad English =)
Corpse, DynObj, and GameObjs have coordinates, yes. They're held within the object_flags struct.

For a Corpse, you read [baseaddress + 0x120] + 0x0C] for coordinates. A GameObject is [[baseaddress + 0x120] + 0x24]. A DynamicObject is [[baseaddress + 0x120] + 0x14]. Hope it helps.


Quote:
Originally Posted by Kynox
Warden's main plan of attack is hashing bytes at relative offsets to modules and each page, and comparing them to "bad" hashes.

Seeing as VirtualAllocEx is giving you a different address each time, i would say your detection levels are quite low.
That's kinda what I figured. Soon as I get it polished a little bit more, I'll give it a go on retail and see what happens.



By the way, tomorrow I'll teach you all how to call the class method Object.Interact(). Whereas Select(..) allowed you to simulate a left-click on an object, Object.Interact() allows you to simulate a right-click on an object, allowing for attacking, looting, node mining, herb gathering, etc. I don't know much about virtual tables, but I figured out how to do it using CreateRemoteThread anyway. Tomorrow
Reply With Quote
(#22)
Old
Thybhalt 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: 3
Thybhalt is an unknown quantity at this point
 
Posts: 12
Join Date: Jun 2008
06-28-2008

Quote:
Originally Posted by Shynd View Post
Corpse, DynObj, and GameObjs have coordinates, yes. They're held within the object_flags struct.

For a Corpse, you read [baseaddress + 0x120] + 0x0C] for coordinates. A GameObject is [[baseaddress + 0x120] + 0x24]. A DynamicObject is [[baseaddress + 0x120] + 0x14]. Hope it helps.
Oh yes =) Your blog is awesome =)
Reply With Quote
(#23)
Old
blizzo is Offline
Private
Rep Power: 1
Reputation: 6
blizzo is an unknown quantity at this point
 
Posts: 12
Join Date: Jun 2008
Location: England
06-28-2008

Quote:
Originally Posted by Shynd View Post
Journal updated: [Only registered and activated users can see links. ]
Cool. However, the SelectUnit function uses TLS so you have to update that address in the new thread you have created otherwise when you run it you'll get a useful popup from Wow.exe
Code:
push dword [fs:2Ch]
mov [fs:2Ch], dword TLSAddress
push dword GUID-MSByte
push dword GUID-LSByte
mov ebx, dword 0x006D8760
call ebx
add esp, 8
pop dword [fs:2Ch]
ret
That worked for me
Reply With Quote
(#24)
Old
Shynd's Avatar
Shynd is Offline
Master Sergeant
Rep Power: 1
Reputation: 26
Shynd is on a distinguished road
 
Posts: 120
Join Date: May 2008
06-28-2008

Quote:
Originally Posted by blizzo View Post
Cool. However, the SelectUnit function uses TLS so you have to update that address in the new thread you have created otherwise when you run it you'll get a useful popup from Wow.exe
Code:
push dword [fs:2Ch]
mov [fs:2Ch], dword TLSAddress
push dword GUID-MSByte
push dword GUID-LSByte
mov ebx, dword 0x006D8760
call ebx
add esp, 8
pop dword [fs:2Ch]
ret
That worked for me
Seemed to work fine for me, though you're right, it does seem to update the CurMgr right at the start of the subroutine. Don't know what to tell you, I never had a problem.

Object.Interact() definitely does, however, so I'll definitely get into that today.

Last edited by Shynd; 06-28-2008 at 11:41 AM. Reason: clarified
Reply With Quote
(#25)
Old
sweeper18 is Offline
Site n00b.. (A leecher if I've been here for more than a month and can't earn 5 rep)
Rep Power: 3
Reputation: 2
sweeper18 is an unknown quantity at this point
 
Posts: 25
Join Date: Aug 2006
06-28-2008

Excellent journal you have started here, I like it a lot
Reply With Quote
(#26)
Old
blizzo is Offline
Private
Rep Power: 1
Reputation: 6
blizzo is an unknown quantity at this point
 
Posts: 12
Join Date: Jun 2008
Location: England
06-28-2008

@Shynd: oh well, hehe
There are plenty of useful, interesting functions that can be run using this method. And it is something I have been looking to a little bit As you have suggested, this might be a better method than moving the mouse to target/attack/loot - if not for any other reason than it's easier hehe. I dunno if you downloaded or looked at my tool for injecting code, assembled on the fly using NASM, in to Wow - but it is quite useful for testing these functions. Easier than op-codes in a byte array, anyway
Reply With Quote
(#27)
Old
Shynd's Avatar
Shynd is Offline
Master Sergeant
Rep Power: 1
Reputation: 26
Shynd is on a distinguished road
 
Posts: 120
Join Date: May 2008
06-28-2008

Yeah, I had that thought earlier today and have decided to figure out how to use it maybe later today, maybe tomorrow, for whenever I find anything else I want to use.
Reply With Quote
(#28)
Old
Bobnovak 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: 2
Bobnovak is an unknown quantity at this point
 
Posts: 7
Join Date: Jun 2008
06-28-2008

Great post Shynd.. I've been looking up this stuff for the past few days, trying to get my head around some of it (it's been a number of years since I've used C++ and had to deal with anything more complex than relational databases) - I was in the process of attempting to translate Kynox's library to C# when I stumbled across this thread, glad to see someone had done the work for me!

Just wanted to make a post in here and let you all know that I'm leeching for the time being, but I appreciate your work and I hope to be able to contribute in the future - By the way, I don't see a very comprehensive list of offsets and locations anywhere on here. I see threads with bits and pieces of stuff here and there (a lot of it out of date), or am I missing something?

Thanks again guys.
Reply With Quote
(#29)
Old
Shynd's Avatar
Shynd is Offline
Master Sergeant
Rep Power: 1
Reputation: 26
Shynd is on a distinguished road
 
Posts: 120
Join Date: May 2008
06-28-2008

Perhaps I'll make a post with offsets here in the near future. You're definitely right, that kind of thing isn't really made terribly clear at the moment.
Reply With Quote
(#30)
Old
Shynd's Avatar
Shynd is Offline
Master Sergeant
Rep Power: 1
Reputation: 26
Shynd is on a distinguished road
 
Posts: 120
Join Date: May 2008
06-28-2008

As promised: [Only registered and activated users can see links. ] and with only 5 minutes left in the day, EST! After promising to post about it today, I sure did cut it close.

Enjoy.
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.
Search Engine Optimization by vBSEO 3.2.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 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344