// Decompiled with JetBrains decompiler // Type: ProcessMemoryReaderLib.ProcessMemoryReader // Assembly: AutoKMS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null // MVID: D1CED9E3-1FC7-49B8-B3AC-44976AB7F6E4 // Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\HackTool.Win32.KMSAuto.i-f317ba4d4051fad64a0aa45b587fa3dcea795bac30acec2872779abe31a07cbe.exe using System; using System.Diagnostics; namespace ProcessMemoryReaderLib { public class ProcessMemoryReader { private Process m_ReadProcess; private IntPtr m_hProcess = IntPtr.Zero; public Process ReadProcess { get => this.m_ReadProcess; set => this.m_ReadProcess = value; } public void OpenProcess() => this.m_hProcess = ProcessMemoryReaderApi.OpenProcess(56U, 1, (uint) this.m_ReadProcess.Id); public void CloseHandle() { if (ProcessMemoryReaderApi.CloseHandle(this.m_hProcess) == 0) throw new Exception("CloseHandle failed"); } public byte[] ReadProcessMemory(IntPtr MemoryAddress, uint bytesToRead, out int bytesRead) { byte[] buffer = new byte[(IntPtr) bytesToRead]; IntPtr lpNumberOfBytesRead; ProcessMemoryReaderApi.ReadProcessMemory(this.m_hProcess, MemoryAddress, buffer, bytesToRead, out lpNumberOfBytesRead); bytesRead = lpNumberOfBytesRead.ToInt32(); return buffer; } public void WriteProcessMemory(IntPtr MemoryAddress, byte[] bytesToWrite, out int bytesWritten) { IntPtr lpNumberOfBytesWritten; ProcessMemoryReaderApi.WriteProcessMemory(this.m_hProcess, MemoryAddress, bytesToWrite, (uint) bytesToWrite.Length, out lpNumberOfBytesWritten); bytesWritten = lpNumberOfBytesWritten.ToInt32(); } } }