// Token: 0x0600012B RID: 299 RVA: 0x0001D260 File Offset: 0x0001B460 public long pagedMemorySearchMatch(int[] search, long startAddress, long regionSize) { long result = -1L; int val = 20480; int num = Math.Max(search.Length * 20, val); if (this.p == null) { return(result); } IntPtr hProcess = MemAPI.OpenProcess(MemAPI.ProcessAccessFlags.All, false, this.p.Id); byte[] array = new byte[num]; long num2 = startAddress + regionSize; for (long num3 = startAddress; num3 < num2; num3 += (long)(array.Length - search.Length)) { MemAPI.ReadBytes(num3, array, num, this.p, hProcess); int num4; if ((num4 = MemAPI.findSequenceMatch(array, 0, search, true, false)) >= 0) { result = num3 + (long)num4; break; } } MemAPI.CloseHandle(hProcess); return(result); }
public long pagedMemorySearch(byte[] search, long startAddress, long regionSize) { long num1 = -1; int val2 = 20480; int count = Math.Max(search.Length * 20, val2); if (this.p == null) { return(num1); } IntPtr num2 = MemAPI.OpenProcess(MemAPI.ProcessAccessFlags.All, false, this.p.Id); byte[] numArray = new byte[count]; long num3 = startAddress; long num4 = startAddress + regionSize; long address = num3; while (address < num4) { MemAPI.ReadBytes(address, numArray, count, this.p, num2); int sequence; if ((sequence = MemAPI.findSequence(numArray, 0, search, true, false)) >= 0) { num1 = address + (long)sequence; break; } address += (long)(numArray.Length - search.Length); } MemAPI.CloseHandle(num2); return(num1); }
public void CloseProcessHandle() { if (!(this.hProc != IntPtr.Zero)) { return; } MemAPI.CloseHandle(this.hProc); this.hProc = IntPtr.Zero; }
public void SetByteAt(long address, byte newValue) { if (this.p == null) { return; } IntPtr num = MemAPI.OpenProcess(MemAPI.ProcessAccessFlags.All, false, this.p.Id); MemAPI.WriteByte(address, newValue, this.p, num); MemAPI.CloseHandle(num); }
// Token: 0x0600011B RID: 283 RVA: 0x0001CA90 File Offset: 0x0001AC90 public int GetBytesAt(long address, byte[] buffer, int count) { if (this.p == null) { return(0); } IntPtr hProcess = MemAPI.OpenProcess(MemAPI.ProcessAccessFlags.All, false, this.p.Id); int arg_37_0 = MemAPI.ReadBytes(address, buffer, count, this.p, hProcess); MemAPI.CloseHandle(hProcess); return(arg_37_0); }
// Token: 0x060000F7 RID: 247 RVA: 0x0001C0C8 File Offset: 0x0001A2C8 public static int WriteBytes(long address, byte[] buffer, int count, Process p, IntPtr hProc) { IntPtr hProcess = (hProc == IntPtr.Zero) ? MemAPI.OpenProcess(MemAPI.ProcessAccessFlags.All, false, p.Id) : hProc; int result = 0; MemAPI.WriteProcessMemory(hProc, address, buffer, (uint)count, out result); if (hProc == IntPtr.Zero) { MemAPI.CloseHandle(hProcess); } return(result); }
public static int ReadBytes(long address, byte[] buffer, int count, Process p, IntPtr hProc) { IntPtr hProcess = hProc == IntPtr.Zero ? MemAPI.OpenProcess(MemAPI.ProcessAccessFlags.All, false, p.Id) : hProc; int lpNumberOfBytesRead = 0; MemAPI.ReadProcessMemory(hProcess, address, buffer, count, ref lpNumberOfBytesRead); if (hProc == IntPtr.Zero) { MemAPI.CloseHandle(hProcess); } return(lpNumberOfBytesRead); }
// Token: 0x0600011E RID: 286 RVA: 0x0001CB64 File Offset: 0x0001AD64 public float GetSingleAt(long address) { float result = 0f; if (this.p == null) { return(result); } IntPtr hProcess = MemAPI.OpenProcess(MemAPI.ProcessAccessFlags.All, false, this.p.Id); result = MemAPI.ReadSingle(address, this.p, hProcess); MemAPI.CloseHandle(hProcess); return(result); }
// Token: 0x0600011D RID: 285 RVA: 0x0001CB1C File Offset: 0x0001AD1C public uint GetUInt32At(long address) { uint result = 0u; if (this.p == null) { return(result); } IntPtr hProcess = MemAPI.OpenProcess(MemAPI.ProcessAccessFlags.All, false, this.p.Id); result = MemAPI.ReadUInt32(address, this.p, hProcess); MemAPI.CloseHandle(hProcess); return(result); }
// Token: 0x0600011A RID: 282 RVA: 0x0001CA48 File Offset: 0x0001AC48 public byte GetByteAt(long address) { byte result = 0; if (this.p == null) { return(result); } IntPtr hProcess = MemAPI.OpenProcess(MemAPI.ProcessAccessFlags.All, false, this.p.Id); result = MemAPI.ReadByte(address, this.p, hProcess); MemAPI.CloseHandle(hProcess); return(result); }
public float GetSingleAt(long address) { float num1 = 0.0f; if (this.p == null) { return(num1); } IntPtr num2 = MemAPI.OpenProcess(MemAPI.ProcessAccessFlags.All, false, this.p.Id); float num3 = MemAPI.ReadSingle(address, this.p, num2); MemAPI.CloseHandle(num2); return(num3); }
public uint GetUInt32At(long address) { uint num1 = 0; if (this.p == null) { return(num1); } IntPtr num2 = MemAPI.OpenProcess(MemAPI.ProcessAccessFlags.All, false, this.p.Id); uint num3 = MemAPI.ReadUInt32(address, this.p, num2); MemAPI.CloseHandle(num2); return(num3); }
public byte GetByteAt(long address) { byte num1 = 0; if (this.p == null) { return(num1); } IntPtr num2 = MemAPI.OpenProcess(MemAPI.ProcessAccessFlags.All, false, this.p.Id); byte num3 = MemAPI.ReadByte(address, this.p, num2); MemAPI.CloseHandle(num2); return(num3); }