also using his ProcessASM library for the asm.
Code:
ProcessASM WowASM = new ProcessASM( processID );
//get the adress of the call for vmt 47 (get object name)?
uint GetObjectNameVMT47 = Memory.ReadUInt(hProcess,
(Memory.ReadUInt(hProcess, obj) + (47 * 4)));
WowASM.AddLine("mov EDX, [0x011C8248]"); //Start UpdateCurMgr
WowASM.AddLine("mov EDX, [EDX+0x285C]");
WowASM.AddLine("FS mov EAX, [0x2C]");
WowASM.AddLine("mov EAX, [EAX]");
WowASM.AddLine("add EAX, 8");
WowASM.AddLine("mov [EAX], EDX"); // End UpdateCurMgr
WowASM.AddLine("mov ecx, " + "0x" + obj.ToString("X"));
WowASM.AddLine("mov eax, 0x" + GetObjectNameVMT47.ToString("X") + "");
WowASM.AddLine("call eax");
WowASM.AddLine("retn");
return Memory.ReadString(hProcess, WowASM.Execute(), 64);