Code:
using Microsoft.VisualBasic;
using Microsoft.VisualBasic.CompilerServices;
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace WindowsApplication1
{
[StandardModule]
internal sealed class ReadWritingMemory
{
private const int PROCESS_ALL_ACCESS = 127231;
[DebuggerNonUserCode]
static ReadWritingMemory()
{
}
[DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern int OpenProcess(int dwDesiredAccess, int bInheritHandle, int dwProcessId);
[DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern int WriteProcessMemory(int hProcess, int lpBaseAddress, ref int lpBuffer, int nSize, ref int lpNumberOfBytesWritten);
[DllImport("kernel32", EntryPoint = "WriteProcessMemory", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern float WriteProcessMemory_1(int hProcess, int lpBaseAddress, ref float lpBuffer, int nSize, ref int lpNumberOfBytesWritten);
[DllImport("kernel32", EntryPoint = "WriteProcessMemory", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern long WriteProcessMemory_2(int hProcess, int lpBaseAddress, ref long lpBuffer, int nSize, ref int lpNumberOfBytesWritten);
[DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern int ReadProcessMemory(int hProcess, int lpBaseAddress, ref int lpBuffer, int nSize, ref int lpNumberOfBytesWritten);
[DllImport("kernel32", EntryPoint = "ReadProcessMemory", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern float ReadProcessMemory_1(int hProcess, int lpBaseAddress, ref float lpBuffer, int nSize, ref int lpNumberOfBytesWritten);
[DllImport("kernel32", EntryPoint = "ReadProcessMemory", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern long ReadProcessMemory_2(int hProcess, int lpBaseAddress, ref long lpBuffer, int nSize, ref int lpNumberOfBytesWritten);
public static bool WriteDMAInteger(string Process, int Address, int[] Offsets, int Value, int Level, int nsize = 4)
{
bool flag;
try
{
int Address1 = Address;
int num1 = 1;
int num2 = Level;
int num3 = num1;
while (num3 <= num2)
{
Address1 = checked (ReadWritingMemory.ReadInteger(Process, Address1, nsize) + Offsets[num3 - 1]);
checked { ++num3; }
}
ReadWritingMemory.WriteInteger(Process, Address1, Value, nsize);
flag = true;
}
catch (Exception ex)
{
ProjectData.SetProjectError(ex);
flag = false;
ProjectData.ClearProjectError();
}
return flag;
}
public static int ReadDMAInteger(string Process, int Address, int[] Offsets, int Level, int nsize = 4)
{
int num1;
try
{
int Address1 = Address;
int num2 = 1;
int num3 = Level;
int num4 = num2;
while (num4 <= num3)
{
Address1 = checked (ReadWritingMemory.ReadInteger(Process, Address1, nsize) + Offsets[num4 - 1]);
checked { ++num4; }
}
num1 = ReadWritingMemory.ReadInteger(Process, Address1, nsize);
}
catch (Exception ex)
{
ProjectData.SetProjectError(ex);
ProjectData.ClearProjectError();
}
return num1;
}
public static bool WriteDMAFloat(string Process, int Address, int[] Offsets, float Value, int Level, int nsize = 4)
{
bool flag;
try
{
int Address1 = Address;
int num1 = 1;
int num2 = Level;
int num3 = num1;
while (num3 <= num2)
{
Address1 = checked ((int) Math.Round((double) unchecked (ReadWritingMemory.ReadFloat(Process, Address1, nsize) + (float) Offsets[checked (num3 - 1)])));
checked { ++num3; }
}
ReadWritingMemory.WriteFloat(Process, Address1, Value, nsize);
flag = true;
}
catch (Exception ex)
{
ProjectData.SetProjectError(ex);
flag = false;
ProjectData.ClearProjectError();
}
return flag;
}
public static float ReadDMAFloat(string Process, int Address, int[] Offsets, int Level, int nsize = 4)
{
float num1;
try
{
int Address1 = Address;
int num2 = 1;
int num3 = Level;
int num4 = num2;
while (num4 <= num3)
{
Address1 = checked ((int) Math.Round((double) unchecked (ReadWritingMemory.ReadFloat(Process, Address1, nsize) + (float) Offsets[checked (num4 - 1)])));
checked { ++num4; }
}
num1 = ReadWritingMemory.ReadFloat(Process, Address1, nsize);
}
catch (Exception ex)
{
ProjectData.SetProjectError(ex);
ProjectData.ClearProjectError();
}
return num1;
}
public static bool WriteDMALong(string Process, int Address, int[] Offsets, long Value, int Level, int nsize = 4)
{
bool flag;
try
{
int Address1 = Address;
int num1 = 1;
int num2 = Level;
int num3 = num1;
while (num3 <= num2)
{
Address1 = checked ((int) (ReadWritingMemory.ReadLong(Process, Address1, nsize) + (long) Offsets[num3 - 1]));
checked { ++num3; }
}
ReadWritingMemory.WriteLong(Process, Address1, Value, nsize);
flag = true;
}
catch (Exception ex)
{
ProjectData.SetProjectError(ex);
flag = false;
ProjectData.ClearProjectError();
}
return flag;
}
public static long ReadDMALong(string Process, int Address, int[] Offsets, int Level, int nsize = 4)
{
long num1;
try
{
int Address1 = Address;
int num2 = 1;
int num3 = Level;
int num4 = num2;
while (num4 <= num3)
{
Address1 = checked ((int) (ReadWritingMemory.ReadLong(Process, Address1, nsize) + (long) Offsets[num4 - 1]));
checked { ++num4; }
}
num1 = ReadWritingMemory.ReadLong(Process, Address1, nsize);
}
catch (Exception ex)
{
ProjectData.SetProjectError(ex);
ProjectData.ClearProjectError();
}
return num1;
}
public static void WriteNOPs(string ProcessName, long Address, int NOPNum)
{
if (ProcessName.EndsWith(".exe"))
ProcessName = ProcessName.Replace(".exe", "");
Process[] processesByName = Process.GetProcessesByName(ProcessName);
if (processesByName.Length == 0)
{
int num1 = (int) MessageBox.Show(ProcessName + " isn't open!");
}
else
{
IntPtr num2 = (IntPtr) ReadWritingMemory.OpenProcess(127231, 0, processesByName[0].Id);
if (num2 == IntPtr.Zero)
{
int num3 = (int) MessageBox.Show("Failed to open " + ProcessName + "!");
}
else
{
int num4 = 0;
int num5 = 1;
int num6 = NOPNum;
int num7 = num5;
while (num7 <= num6)
{
int hProcess = (int) num2;
int lpBaseAddress = checked ((int) (Address + (long) num4));
int num8 = 144;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
int& lpBuffer = @num8;
int nSize = 1;
int num9 = 0;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
int& lpNumberOfBytesWritten = @num9;
ReadWritingMemory.WriteProcessMemory(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten);
checked { ++num4; }
checked { ++num7; }
}
}
}
}
public static void WriteXBytes(string ProcessName, long Address, string Value)
{
if (ProcessName.EndsWith(".exe"))
ProcessName = ProcessName.Replace(".exe", "");
Process[] processesByName = Process.GetProcessesByName(ProcessName);
if (processesByName.Length == 0)
{
int num1 = (int) MessageBox.Show(ProcessName + " isn't open!");
}
else
{
IntPtr num2 = (IntPtr) ReadWritingMemory.OpenProcess(127231, 0, processesByName[0].Id);
if (num2 == IntPtr.Zero)
{
int num3 = (int) MessageBox.Show("Failed to open " + ProcessName + "!");
}
else
{
int num4 = 0;
int Start = 1;
int num5 = 1;
int num6 = checked ((int) Math.Round(Math.Round(unchecked ((double) Strings.Len(Value) / 2.0))));
int num7 = num5;
while (num7 <= num6)
{
byte num8 = checked ((byte) Math.Round(Conversion.Val("&H" + Strings.Mid(Value, Start, 2))));
int hProcess = (int) num2;
int lpBaseAddress = checked ((int) (Address + (long) num4));
int num9 = (int) num8;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
int& lpBuffer = @num9;
int nSize = 1;
int num10 = 0;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
int& lpNumberOfBytesWritten = @num10;
ReadWritingMemory.WriteProcessMemory(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten);
checked { ++num4; }
checked { Start += 2; }
checked { ++num7; }
}
}
}
}
public static void WriteInteger(string ProcessName, int Address, int Value, int nsize = 4)
{
if (ProcessName.EndsWith(".exe"))
ProcessName = ProcessName.Replace(".exe", "");
Process[] processesByName = Process.GetProcessesByName(ProcessName);
if (processesByName.Length == 0)
{
int num1 = (int) MessageBox.Show(ProcessName + " isn't open!");
}
else
{
IntPtr num2 = (IntPtr) ReadWritingMemory.OpenProcess(127231, 0, processesByName[0].Id);
if (num2 == IntPtr.Zero)
{
int num3 = (int) MessageBox.Show("Failed to open " + ProcessName + "!");
}
else
{
int num4 = Address;
int num5 = Value;
int hProcess = (int) num2;
int lpBaseAddress = num4;
int num6 = num5;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
int& lpBuffer = @num6;
int nSize = nsize;
int num7 = 0;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
int& lpNumberOfBytesWritten = @num7;
ReadWritingMemory.WriteProcessMemory(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten);
}
}
}
public static void WriteFloat(string ProcessName, int Address, float Value, int nsize = 4)
{
if (ProcessName.EndsWith(".exe"))
ProcessName = ProcessName.Replace(".exe", "");
Process[] processesByName = Process.GetProcessesByName(ProcessName);
if (processesByName.Length == 0)
{
int num1 = (int) MessageBox.Show(ProcessName + " isn't open!");
}
else
{
IntPtr num2 = (IntPtr) ReadWritingMemory.OpenProcess(127231, 0, processesByName[0].Id);
if (num2 == IntPtr.Zero)
{
int num3 = (int) MessageBox.Show("Failed to open " + ProcessName + "!");
}
else
{
int num4 = Address;
float num5 = Value;
int hProcess = (int) num2;
int lpBaseAddress = num4;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
float& lpBuffer = @num5;
int nSize = nsize;
int num6 = 0;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
int& lpNumberOfBytesWritten = @num6;
double num7 = (double) ReadWritingMemory.WriteProcessMemory_1(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten);
}
}
}
public static void WriteLong(string ProcessName, int Address, long Value, int nsize = 4)
{
if (ProcessName.EndsWith(".exe"))
ProcessName = ProcessName.Replace(".exe", "");
Process[] processesByName = Process.GetProcessesByName(ProcessName);
if (processesByName.Length == 0)
{
int num1 = (int) MessageBox.Show(ProcessName + " isn't open!");
}
else
{
IntPtr num2 = (IntPtr) ReadWritingMemory.OpenProcess(127231, 0, processesByName[0].Id);
if (num2 == IntPtr.Zero)
{
int num3 = (int) MessageBox.Show("Failed to open " + ProcessName + "!");
}
else
{
int num4 = Address;
long num5 = Value;
int hProcess = (int) num2;
int lpBaseAddress = num4;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
long& lpBuffer = @num5;
int nSize = nsize;
int num6 = 0;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
int& lpNumberOfBytesWritten = @num6;
ReadWritingMemory.WriteProcessMemory_2(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten);
}
}
}
public static int ReadInteger(string ProcessName, int Address, int nsize = 4)
{
if (ProcessName.EndsWith(".exe"))
ProcessName = ProcessName.Replace(".exe", "");
Process[] processesByName = Process.GetProcessesByName(ProcessName);
int num1;
if (processesByName.Length == 0)
{
int num2 = (int) MessageBox.Show(ProcessName + " isn't open!");
}
else
{
IntPtr num3 = (IntPtr) ReadWritingMemory.OpenProcess(127231, 0, processesByName[0].Id);
if (num3 == IntPtr.Zero)
{
int num4 = (int) MessageBox.Show("Failed to open " + ProcessName + "!");
}
else
{
int num5 = Address;
int hProcess = (int) num3;
int lpBaseAddress = num5;
int num6;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
int& lpBuffer = @num6;
int nSize = nsize;
int num7 = 0;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
int& lpNumberOfBytesWritten = @num7;
ReadWritingMemory.ReadProcessMemory(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten);
num1 = num6;
}
}
return num1;
}
public static float ReadFloat(string ProcessName, int Address, int nsize = 4)
{
if (ProcessName.EndsWith(".exe"))
ProcessName = ProcessName.Replace(".exe", "");
Process[] processesByName = Process.GetProcessesByName(ProcessName);
float num1;
if (processesByName.Length == 0)
{
int num2 = (int) MessageBox.Show(ProcessName + " isn't open!");
}
else
{
IntPtr num3 = (IntPtr) ReadWritingMemory.OpenProcess(127231, 0, processesByName[0].Id);
if (num3 == IntPtr.Zero)
{
int num4 = (int) MessageBox.Show("Failed to open " + ProcessName + "!");
}
else
{
int num5 = Address;
int hProcess = (int) num3;
int lpBaseAddress = num5;
float num6;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
float& lpBuffer = @num6;
int nSize = nsize;
int num7 = 0;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
int& lpNumberOfBytesWritten = @num7;
double num8 = (double) ReadWritingMemory.ReadProcessMemory_1(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten);
num1 = num6;
}
}
return num1;
}
public static long ReadLong(string ProcessName, int Address, int nsize = 4)
{
if (ProcessName.EndsWith(".exe"))
ProcessName = ProcessName.Replace(".exe", "");
Process[] processesByName = Process.GetProcessesByName(ProcessName);
long num1;
if (processesByName.Length == 0)
{
int num2 = (int) MessageBox.Show(ProcessName + " isn't open!");
}
else
{
IntPtr num3 = (IntPtr) ReadWritingMemory.OpenProcess(127231, 0, processesByName[0].Id);
if (num3 == IntPtr.Zero)
{
int num4 = (int) MessageBox.Show("Failed to open " + ProcessName + "!");
}
else
{
int num5 = Address;
int hProcess = (int) num3;
int lpBaseAddress = num5;
long num6;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
long& lpBuffer = @num6;
int nSize = nsize;
int num7 = 0;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
int& lpNumberOfBytesWritten = @num7;
ReadWritingMemory.ReadProcessMemory_2(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten);
num1 = num6;
}
}
return num1;
}
}
}
To be honest, I am so tired of kids like you, and I really don`t waste time here answering back to retarted people.