WoW Memory EditingWoW Memory Editing for learning purposes only.
This section is more advanced than others on MMOwnedRead the section specific rules, infractions will be given out if u break them!That is including the expectations! - If you don't meet them then don't post
it just means that the whole TLS rewriting which noone knows what it is for doesn't break something.
since the address for the lua function seems to be okay, i think that you push the arguments in a wrong order or push wrong arguments. maybe you should push the location of the 2nd last byte from your lua string instead of 0. so, luastr addr + luastr length - 1
Donate to remove ads, get your "DONATOR title, and get access to the MMOwned community's elite Shoutbawx.
Nope... Checked that. luastr length doesn't help.
As you can see function takes 3 parameters. But there's a variable (global as i understand). Can it be so my code overwrites it so it crashes wow?
1. Get the address of the TLS of WoWs Mainthread
2. Write that address to your threads TLS-pointer so your thread accesses the mainthreads storage
3. Simply call lua_doString
thanks flo, your explanation gives this whole TLS thing a sense.
Since we run an additional (!) thread with our code, it doesn't have access to wow's main process memory. due to this fact, we get the TLS or our new thread from FS:[0x2] and change the pointer to WoW's main TLS.
Ya. Thats why TLS is called Thread's Local Storage.
But can anyone please tell me is my code correct and if it's not can anyone tell what am i doing wrong?
Ya. Thats why TLS is called Thread's Local Storage.
But can anyone please tell me is my code correct and if it's not can anyone tell what am i doing wrong?
Your code seems pretty ok, did you test it?
Btw, if you are using C/C++ its possible to do it out-of-process without using any asm, take a look at Cyphers RtlRemoteCall-Rewrite. With some modifications (you have to fix the TLS before) it should work perfectly.
When i allocate memory for luastr i rewrite 12345678 with it. Checked and debuged it. The address is rewritten corectly. But it crashes wow(
Don't know what to do. I enabled break on new thread. But i haven't find my code near breakpoint. I'm confused.