Perdón que siga preguntando, es que soy nuevo en el tema y me interesa.
lo que tenés que hacer es obtener la dirección de la función que te interesa interceptar, si estás en un sistema de 32 bits una dirección de memoria son 4 bytes, entonces vas a parchear los primeros 5 bytes de la función, con un JMP + dirección de memoria, lo que serían un total de 5 bytes.
Quiere decir que JMP vale 1 byte??
Y otra cosa con respecto a los punteros... SIEMPRE son necesarios sin importar el método que se use?