Thanks again! Works perfect!
"You must spread some Reputation around before giving it to Sacred again."
--Edit
nvm it does not work...
Last edited by DarkLinux; 02-20-2014 at 05:33 PM.
Sorry about that, it does work for the player ID, but its not loading the gear. Was thinking it was the same function but I guess not.
Playing around with this function atm 0x004667A0 / 0x00467160
Last edited by DarkLinux; 02-20-2014 at 11:58 PM.
Enjoy +3 rape Sacred . Pointers helped a lot.
Warden modules download
Modules were dumped from wow-one and valkyrie-wow.
Warden memcheck function pattern is 8B CA 8B F8 C1 E9 02 74 02 (sub_2A7F in both modules), simply detour it and redirect all memchecks.
Last edited by Sacred; 02-21-2014 at 03:06 AM.
The location of the last hardware action is 0xCF0BC8. Write tick count to that value every few seconds to avoid AFK.
Edit: some people might patch the function which checks this value in order to toggle AFK, but I prefer to update this value with a timer because it is harder (realistically is is probably impossible) for Warden to catch.
Last edited by namreeb; 02-21-2014 at 02:08 AM.
You can use it this way to update appearance of equipped items.Code:Magic.Write<int>(Manager.Me.StorageField + Offsets.PlayerFields.PLAYER_VISIBLE_ITEM_5_0, 16809); //chest Wow.MorphUnit(Manager.Me, 1337); //l33t Wow.MorphUnit(Manager.Me, Manager.Me.NativeDisplayID);
Thanks @Sacred and @culino2
Last edited by DarkLinux; 02-23-2014 at 12:40 AM.
Code:TerrainCollision = 0x6721F3 WMOCollision = 0x6A467B M2Collision1 = 0x6ABF13 M2Collision2 = 0x6ABC5A RemoveAFK = 0x482ED3 FallSpeed = 0x87D894
Last edited by Sacred; 02-27-2014 at 02:48 AM.
Does anyone know a way to toggle autoloot on? (Or another method that is simpler than interacting with all of the loot in the window)
I've been trying to call functions using this code, it just seems to crash when I actually try to autoloot? Anyone able to point me in the right direction with this?
Code:static void Detour(uint codeCave, uint Address, byte[] hook_func, ref BlackMagic WoW) { Console.WriteLine("Detouring 0x{0:X}", Address); Console.WriteLine("With Function at 0x{0:X}", codeCave); WoW.WriteBytes(codeCave, hook_func); //Our function is in memory WoW.Asm.Clear(); WoW.Asm.AddLine("push {0}", codeCave); WoW.Asm.AddLine("retn"); //pops codeCave from the stack into EIP WoW.WriteBytes(Address, WoW.Asm.Assemble()); //Detour the Function } static void Main(string[] args) { BlackMagic WoW = new BlackMagic(SProcess.GetProcessFromProcessName("WoW")); uint CodeCave = WoW.AllocateMemory(); WoW.Asm.Clear(); //Make sure no ASM lines exist //An STD call that returns true WoW.Asm.AddLine("mov al,1"); WoW.Asm.AddLine("retn 4"); //0x4C1FA0 -> Autoloot Detour(CodeCave, 0x4C1FA0, WoW.Asm.Assemble(), ref WoW); //tracking all objects Console.ReadLine(); }
Thanks for the reply! I managed to get other functions working (understand all languages) but the autoloot doesn't seem to want to work. Now it doesn't crash, but I'm unable to manually autoloot - is there a trick to when I should be calling it?
Edit: If I use the above to remove LUA protection, is there code which can loot? I tried /script LootSlot(0); (and 1-2-3 ect) and while it doesn't error nothing happens
Last edited by prospectingemu; 03-08-2014 at 09:53 PM.
Jeez, it's a simple function, what's the problem with calling it.
Code:[UnmanagedFunctionPointer(CallingConvention.ThisCall)] private delegate void CallAutoLoot(uint zero);
Code:internal static void LootItems() { lock (Memory.Magic.Executor.Lock) { string[] asm = { "mov ecx, 0", "call " + (uint) Offsets.Fuctions.CallAutoLoot, "retn" }; Memory.Magic.Executor.Execute(asm); } }