Exemple #1
0
        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();
        }
Exemple #2
0
        public void CloseHandle()
        {
            int iRetValue;

            iRetValue = SharpMemoryLib.CloseHandle(m_hProcess);
            if (iRetValue == 0)
            {
                throw new Exception("CloseHandle failed");
            }
        }
Exemple #3
0
        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);
        }
Exemple #4
0
 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);
 }