EDIT: Removed
EDIT: Removed
Last edited by anon145236; 02-22-2012 at 09:52 AM. Reason: EDIT: Removed
if you really wanna do it this way,you'll have to do it with getting each value in a loop
the much easier way would be to hook endscene(dx9 only) or the dx11 equivalent(can't remember the name right now,check the first page here), and in this hook,execute your stuff using framescript_execute(aka lua_dostring). then you can get the return values of the methods via getlocalizedtext(or something like this).
sorry if the method names are not correct,i'm not into wow,but this would be the way to go outlined with a few words. do a quick search on hooking endscene here on mmowned and you'll get plenty threads that are about this![]()
I strongly recommend dll injection for things like this.
But if you're hellbent on staying out of the wow process, someone reversed most of the LUA structures to use in such a manner - it's on this board somewhere.
If you want to win the ugly price you can always use tables, sentinel values and memory scanners.
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
"I cried a little earlier when I had to poop" - Sku
EDIT: Removed
Last edited by anon145236; 02-22-2012 at 09:50 AM. Reason: EDIT: Removed
I think CVars are store in a Hash Table. Take a look at CVar__Lookup (wow.exe + 0x249DD0).
In theory you could register CVars with API RegisterCVar - WoWWiki - Your guide to the World of Warcraft and store data in them.
Then you can search for them from your bot using your implemetation of the Lookup function.
Or Inject and make your life easier![]()
I dont see why you just dont allocate memory and use that...
Code:AllocateAddress = AllocateMemory(0x256); WriteByte((DWORD)AllocateAddress, (Byte)b);Code:LPVOID AllocateMemory(int size) { return VirtualAllocEx(hProcess,NULL,size,MEM_COMMIT,0x40); }Code:bool WriteByte(DWORD addr, DWORD buffer) { VirtualProtectEx(hProcess,(LPVOID)addr,sizeof(Byte),0x40,&old); if(!WriteProcessMemory(hProcess,(LPVOID)addr,&buffer,sizeof(Byte),NULL)) return false; return true; }
Last edited by DarkLinux; 10-24-2011 at 07:53 PM.
EDIT: Removed
Last edited by anon145236; 02-22-2012 at 09:50 AM. Reason: EDIT: Removed
no reason to be scared of a ban. if you stay private with your stuff it's as safe as being out of process. if you are going to release it the chance might be bigger to be caught, but some nice tools here on ownedcore really proof that the other side(of being not banned) is there too with mem writing,injection etc etc
and half a year ago when i started reversing etc i didn't know about anything,just read lots of threads here and tryed to understand what's going on inside the process.
after that it was all trial and error but now i have a good overall knowledge of what's happening,how to call methods with just asm injection,why i have to hook things and now just create another thread etc etc