[DllImport("kernel32.dll", SetLastError = true)]
public static extern IntPtr OpenProcess(int processAccess, bool bInheritHandle, int processId);
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool CloseHandle(IntPtr hObject);
[DllImport("kernel32.dll", SetLastError = true)]
static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint dwSize, out UIntPtr lpNumberOfBytesWritten);
static void Main(string[] args)
{
var pcor = Process.GetProcesses();
Process[] proc = Process.GetProcessesByName("notepad");
var staticBall_adress = 0x0648E1D4;
byte[] ball = { 0xC8, 0x01, 0x00, 0x00};
var size = 4;
var dummy = new UIntPtr();
var handle = OpenProcess(0x001F0FFF, false, proc[0].Id);
WriteProcessMemory(handle, (IntPtr)staticBall_adress, ball, (uint)size, out dummy);
CloseHandle(handle);
Console.ReadLine();
}
не записывается ни в какую, handle взял, адрес указал, байты и размер тоже, но при запуске кода байты в программе не записываются
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости