Solved!
Thanks all
Solved!
Thanks all
Last edited by -Ryuk-; 03-16-2010 at 02:31 PM.
Instead of
...you should tryCode:uint DoString_space = Handler.WoW.AllocateMemory(Encoding.UTF8.GetBytes(Command).Length + 1);
Code:uint DoString_space = Handler.WoW.AllocateMemory(0x100);
Also, change
...toCode:Handler.WoW.WriteBytes(DoString_space, Encoding.UTF8.GetBytes(Command));
Code:Handler.WoW.WriteBytes(DoString_space + 0x100, Encoding.UTF8.GetBytes(Command));
You'll also need to change where the sting is referenced in the Assembly:
...toCode:EndScene.Hook_AsmAddLine("mov eax, " + DoString_space);
Code:EndScene.Hook_AsmAddLine("mov eax, " + DoString_space + 0x100);
what i'm always wondering... why doesn't blizz detect this?
Hooking every time you are executing DoString is a very, very, VERY good idea. Others should seriously consider implementing his code. Keep the good job going, I hope you will release a bot soon. Can't wait to buy it.
Viano
Sounds like a smart idea to allocate 0x100 Bytes instead of the correct amount.
With the next breath you skip all this boring memory by adding 0x100, that's really genius !
Last edited by flo8464; 03-10-2010 at 07:06 AM.
Hey, it compiles! Ship it!
Anyone? I really can't see the problem!
I assume you have to install the hook?
[16:15:41] Cypher: caus the CPU is a dick
[16:16:07] kynox: CPU is mad
[16:16:15] Cypher: CPU is all like
[16:16:16] Cypher: whatever, i do what i want
Might wanna post the injection func.
You do know that a bot may call DoString() a lot of times per second, and you're wasting a lot of clock ticks by re-hooking each and every call, right? Might want to fix that... Just a tip.
Interesting concept. Install hook, then setup stuff that should execute when hook is hit and then remove the hook right away, so wow never hits it.
edit: if Hook_AsmInject is waiting for execution then nvm![]()
Last edited by Kryso; 03-16-2010 at 08:25 AM.