[duda] ASM inline
Publicado: 15 Oct 2012, 16:33
(ya sé que estoy muy pesado con el tema de las estructuras PE...)
Llevo días peleandome y buscando por Internet, pero no encuentro nada que me sirva..
La cosa está en que quiero meter un instrucción de salto dentro de un ejecutable (Ejecutamos salta al PE donde habrá el JMP al EP original [EP+0x200 alineados]).
1o- Cargo la cabecera PE.
2o- Amplio la sección de código 0x200 bytes.
3o- Actualizo la cabecera de la sección modificada (SizeOfRawData)
4o- Me posiciono en el EP para "inyectar" la instrucción JMP.
Y aquí me pierdo, puesto que no se como pasarle al ASM la variable que contiene la nueva posición del EP (EP + 0x200 alineados).
He visto algún ejemplo por Internet, tal que así:
Pero ni compila (Dev-Cpp: "Expected primary-expression before asm")
Además si lo pongo suelto en mitad del código eso lo ejecutará, mientras que lo que quiero hacer es "inyectarlo" al ejecutable...
Brrrr... entr ASM (poca idea tengo) y los PE, es de locos
Bueno a ver si alguien puede guiarme un poco :P
Llevo días peleandome y buscando por Internet, pero no encuentro nada que me sirva..
La cosa está en que quiero meter un instrucción de salto dentro de un ejecutable (Ejecutamos salta al PE donde habrá el JMP al EP original [EP+0x200 alineados]).
1o- Cargo la cabecera PE.
2o- Amplio la sección de código 0x200 bytes.
3o- Actualizo la cabecera de la sección modificada (SizeOfRawData)
4o- Me posiciono en el EP para "inyectar" la instrucción JMP.
Y aquí me pierdo, puesto que no se como pasarle al ASM la variable que contiene la nueva posición del EP (EP + 0x200 alineados).
He visto algún ejemplo por Internet, tal que así:
Código: Seleccionar todo
__asm(
"movl %eax, %0;" : "=r" (dwOEP)
"jmp %eax"
);
Además si lo pongo suelto en mitad del código eso lo ejecutará, mientras que lo que quiero hacer es "inyectarlo" al ejecutable...
Brrrr... entr ASM (poca idea tengo) y los PE, es de locos
Bueno a ver si alguien puede guiarme un poco :P