private void SetThreadContext(IntPtr hThread, ref NativeMethods.CONTEXT context) { if (!NativeMethods.SetThreadContext(hThread, ref context)) { throw new Win32Exception(); } }
public PacketSpy(AddressAndRegisters send, AddressAndRegisters recv, PacketHandler packetHandler) { m_Send = send; m_Recv = recv; m_PacketHandler = packetHandler; m_ContextBuffer = new NativeMethods.CONTEXT(); m_ContextBuffer.ContextFlags = NativeMethods.ContextFlags.CONTEXT_CONTROL | NativeMethods.ContextFlags.CONTEXT_INTEGER; m_DEventBuffer = new NativeMethods.DEBUG_EVENT_EXCEPTION(); m_ToStop = false; m_Stopped = new ManualResetEvent(true); }
private uint GetContextRegister(NativeMethods.CONTEXT context, Register register) { switch (register) { case Register.Eax: return(context.Eax); case Register.Ebp: return(context.Ebp); case Register.Ebx: return(context.Ebx); case Register.Ecx: return(context.Ecx); case Register.Edi: return(context.Edi); case Register.Edx: return(context.Edx); case Register.Esi: return(context.Esi); case Register.Esp: return(context.Esp); default: throw new ArgumentException(); } }
public PacketSpy( AddressAndRegisters send, AddressAndRegisters recv, PacketHandler packetHandler ) { m_Send = send; m_Recv = recv; m_PacketHandler = packetHandler; m_ContextBuffer = new NativeMethods.CONTEXT(); m_ContextBuffer.ContextFlags = NativeMethods.ContextFlags.CONTEXT_CONTROL | NativeMethods.ContextFlags.CONTEXT_INTEGER; m_DEventBuffer = new NativeMethods.DEBUG_EVENT_EXCEPTION(); m_ToStop = false; m_Stopped = new ManualResetEvent( true ); }