Originally Posted by
1814
yay! I will get flamed by cypher ^-^
Could you explain how to call that function?
this way works it's what bigtimt posted but i updated it 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);
btw. im trying to get Interact to work VMT fuction 34 this is what's ive come up with so far.
Code:
ProcessASM WowASM = new ProcessASM(processID);
//get the adress of the call for vmt 34 (Interact)
uint VMT34 = Memory.ReadUInt(hProcess,
(Memory.ReadUInt(hProcess, obj) + (34 * 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" + VMT34.ToString("X") + "");
WowASM.AddLine("call eax");
WowASM.AddLine("retn");
WowASM.Execute();
but nothing happens when i call the function. anyone who know's or could point out what im doing wrong?