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
How much C# do you know?
Just skimming over your code, I noticed a few major flaws.
First hint, try checking what ToString returns from an object array.
This is my method for inject Lua in WoW, but
pops Lua error:
Code:
Message: [string "self:SetCamera(0);"]:1: attempt to index global 'self' (a nil value)
Time: 10/04/09 19:52:05
Count: 5
Stack: [string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:18: in function <[string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:4>
[C]: ?
[string "self:SetCamera(0);"]:1: in main chunk
Locals: (*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index global 'self' (a nil value)"
How much C# do you know?
Just skimming over your code, I noticed a few major flaws.
First hint, try checking what ToString returns from an object array.
It's copypasta, the new object[] { 0 } gives it away. I've seen it pop up in multiple threads already...
__________________
“Saying that Java is nice because it works on all OSes is like saying that anal sex is nice because it works on all genders.”
“If Java had true garbage collection, most programs would delete themselves upon execution.”
You really should deallocate that 4kb of memory after you're done with it. Also the TLS offset is 0x8 now. Change the "add eax, 0x10" to "add eax, 0x8". And don't use an array of objects for all you're parameters. Just putting the value in works fine, and I think it has better performance(not sure though). Your address that you're trying to call is a string? That probably won't work. It should be an IntPtr or uint.
Holy crap that's ugly.
Why the hell do you use a codecave that's 0x2048 big and then use only from 0x1024 of it?
Also, learn to use
try {} finally {}
Also for russian text I think you need to write it in unicode.
Does anyone have any idea why it crashes wow (Err 132)?
I tried it so and so, but the result is the same.
Am i doing anything wrong? Or maybe made a mess of shellcode?
PS. I know it's ugly and disgusting, but it can work.... i believe)
If you're using C++, is there ANY reason to be out of process? Anyway, I would say make an inline function and put an asm block in it. Much nicer. Then you can just copy the bytes out of that function into the process and execute it. I don't really see any problem with that asm, but you never know when it's in shellcode...
I want as less intrusion, as it's possible. Maybe some day i inject dll...
You mean make an inline asm part? it'd be better, but how should i write it to other process? And shellcode is more suitable ait. I checked memstr addr is written at codestr+27 rewriting 12345678 ( MOV EAX,12345678). So it seems to be alright. But it's not(
Gonna try SEH.