NtWriteVirtualMemory(HANDLE ProcessHandle, PVOID BaseAddress, PVOID Buffer, SIZE_T NumberOfBytesToWrite, PSIZE_T NumberOfBytesWritten)
{
__asm
{
push NumberOfBytesToWrite
push BaseAddress
push Buffer
push ProcessHandle
push NumberOfBytesWritten
MOV EAX, 0x3A;
MOV EDX, dwAddress
CALL EDX
RET 0x14
}
}
DWORD TestAddress = 5685;
DWORD TestValue = 1113;
NtWriteVirtualMemory(GetCurrentProcess(), &TestAddress, &TestValue, sizeof(DWORD), NULL);
Напиши, что не так, где. Ошибки, или что...
в том что это не чат для кулхацкеров?
; после 0x3A?
Вызвано исключение И выдает рандомный TestAddress && TestValue Не знаю как тебе подробно показать с учетом того, что нельзя скрины кидать
проблема в использовании asm. что здесь такого что нельзя на более высокоуровневом языке написать?
Да не, это же комментарий
Если исключение — это программная ошибка, код неверный, тебе надо в отладчик, смотреть, что не так, и исправлять...
то что это недокументированные функции ntdll
По идее он должен делать системный вызов и обращаться к Wow64Transition, адрес которого прописан как dwAddress
а ассемблером-то их нахера дергать?
Я не особо силен в ассемблере, выставление аргументов правильно сделано ?
Мне конкретно нужен системный вызов
не понятно причем тут C++
Мы не обсуждаем тут ассемблеры... Нужен системный вызов — сделай системный вызов. Асемблер для этого не нужен
может быть.... __stdcall надо?
Обсуждают сегодня