So I'm using a class called SigScan, a C# Port of FindPattern by P47R!CK. Byte Signatures, Masks, etc.
This is finding the appropriate location, and it gets put into a IntPtr called pAddr. Now.. this is where it just isn't clicking for me. If I take the IntPtr that is returned, convert to hex, subtract the hex Base address, and there is my offset. I also happen to be using GreyMagic, and with WriteBytes is where my problem starts. If I use the offset with isRelative = true, then it works perfectly fine, but only when I program it statically. But as soon as I try to use pAddr without isRelative, WoW crashes. The IntPtr returned does not be to be rebased (as subtracting the base gives me the offset that works fine with isRelative) In fact it crashes if I try to use it with isRelative on as well. I tried programmatically subtracting the base and letting isRelative re-add the base, that didn't work. Also tried rebasing with isRelative off, still crashes. But if I set it with new IntPtr() followed by the offset then everything is dandy... but I'm tryin' to use signatures lol.
Works fine... I'm banging my head against the wall here.Code:MemoryIn.WriteBytes(new IntPtr(0x8E9E76), new byte[] { 0x74, 0x32, 0x90, 0x90, 0x90, 0x90, 0x90 }, true);
Might also need to mention I'm using External reader, not injected.