public void WriteProcessMemory(IntPtr memoryAddress, byte[] bytesToWrite, out int bytesWritten) { IntPtr ptrBytesWritten; SharpMemoryLib.WriteProcessMemory(m_hProcess, memoryAddress, bytesToWrite, (uint)bytesToWrite.Length, out ptrBytesWritten); bytesWritten = ptrBytesWritten.ToInt32(); }
public void CloseHandle() { int iRetValue; iRetValue = SharpMemoryLib.CloseHandle(m_hProcess); if (iRetValue == 0) { throw new Exception("CloseHandle failed"); } }
public byte[] ReadProcessMemory(IntPtr memoryAddress, uint bytesToRead, out int bytesReaded) { byte[] buffer = new byte[bytesToRead]; IntPtr ptrBytesReaded; SharpMemoryLib.ReadProcessMemory(m_hProcess, memoryAddress, buffer, bytesToRead, out ptrBytesReaded); bytesReaded = ptrBytesReaded.ToInt32(); return(buffer); }
public void OpenProcess() { SharpMemoryLib.ProcessAccessType access; access = SharpMemoryLib.ProcessAccessType.PROCESS_VM_READ | SharpMemoryLib.ProcessAccessType.PROCESS_VM_WRITE | SharpMemoryLib.ProcessAccessType.PROCESS_VM_OPERATION; m_hProcess = SharpMemoryLib.OpenProcess((uint)access, 1, (uint)m_ReadProcess.Id); }