[CODIGO FUENTE] Cómo leer la memoria de un proceso x64 desde x86 (WoW)

  • Hola Invitado, hemos creado un grupo de telegram para GamerzHacking Latino, para mas informacion ingresa al siguiente enlace AQUI


226
Me Gusta
83
Temas

c0de

MOV EAX, EDX
Registrado
19 Abr 2020
Temas
83
Mensajes
183
Ubicación
Localhost
Mejores respuestas
0
¿Qué es eso que escucho? ¿Imposible? No se puede hacer?

Presentación:

C++:
#include <stdio.h>
#include <windows.h>
#include <inttypes.h>

int main(void)
{
    uint64_t addr = 0x167C6D604; // Address to read
    DWORD64 bytesOut = 0;
    DWORD dwPid = 10208; // Process PiD

    int playerAmmo = 0;

    typedef NTSTATUS (NTAPI *NtRVM_t)(HANDLE,PVOID64,PVOID,ULONG64,PULONG64);
    NtRVM_t NtWow64ReadVirtualMemory64 = (NtRVM_t)GetProcAddress(LoadLibrary("ntdll.dll"), "NtWow64ReadVirtualMemory64");
    if(!NtWow64ReadVirtualMemory64)
        return -1;
 
    auto proc = OpenProcess(PROCESS_ALL_ACCESS, false, dwPid);
    if(!proc)
        return -1;

    NtWow64ReadVirtualMemory64(proc, (PVOID64)addr, &playerAmmo, sizeof(int), &bytesOut);

    printf("Ammo: %d, GLE -> %d\n", ammo, GetLastError());

    CloseHandle(proc);
    return 0;
}

Creditos
timb3r