Не изменяются байты при записи их через WriteProcessMemory();

238
07 ноября 2017, 23:24
[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 взял, адрес указал, байты и размер тоже, но при запуске кода байты в программе не записываются

READ ALSO
Игровой автомат с помощью List View

Игровой автомат с помощью List View

Хочу кодом "прокручивать" List ViewНе совсем понятно как работает скролл в ListView, как получить его расположение

238
Выделить добавление новой строки в DataGrid wpf

Выделить добавление новой строки в DataGrid wpf

Дело в том, что необходимо как-то выделить новую строку, куда пользователь записывает новые данныеОна как-то непонятно выглядит

457
Дешифровка алгоритмом Рабина

Дешифровка алгоритмом Рабина

Работал над криптосистемой Рабина, шифровка далась без проблем, однако при дешифровке возникают проблемыВразумительных алгоритмнов и формул...

301
Как загрузить zip файл с сайта, а затем его распаковать?

Как загрузить zip файл с сайта, а затем его распаковать?

Скачиваю во временную папку архив temppzip

239