Y no es asi, donde apunta el jump hay una funcion y no el codigo original. ¿Se entiende la diferencia? No tiene ninguna necesidad de estar ahi cerca, si el hook esta en una FUNCION de una DLL entonces el codigo original no estara ahi en la sección .code de la DLL por logica pura.
dije "por ahi estara", queriendo decir que puede estar el codigo dentro de la funcion (no es la primera vez que lo he visto) o un puntero a los bytes reales, como dije depende del soft hay que estudiarlo y es practicamente sencillo obtener la direccion para no tener que pasar por el hook. pero vamos eso es otro tema.
"sin tener que pasar por sus .DLLs"
Logicamente y pasar por un sitio no es entrar por la puerta, puedes pasar por delante de mi casa sin entrar o puedes entrar por la ventana, de todos modos has pasado por ahi. o lo que es lo mismo, puedo comer huevo frito, en tortilla, con patatas o como a cada uno mas le guste, pero termina comiendo huevo.
Tal y como lo pide ya di una forma de hacerlo sin pasar por ninguna DLL, despues si vos queres llamar API a cualquier funcion de Windows (hay muchos servicios NO EXPORTADOS, sinceramente es complicado llamar API a eso) podes decir eso, si llamas API a lo que es la API no necesariamente se cumple, como ya explique antes la transicion al Kernel la podes hacer vos directamente, si haces int 2Eh/syscall/systenter no pasas por ninguna DLL jamas.
Vale entonces un pequeño programa NO LINKADO a una sola dll, tampoco vale obtener con getprocaddress. que cree un fichero, escriba algo muestre un MessageBox y salga. cuando vea eso sin usar una sola dll entonces admitire que si puede usarla de forma opcional o con mas trabajo pasar olimpicamente del sistema.