Error en Linux

Iniciado por 0xDani, 20 Diciembre 2012, 18:04 PM

0 Miembros y 1 Visitante están viendo este tema.

0xDani

Bueno de casualidad encontre este tutorial: http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html y al probar un ejemplo, concretamente este:

Código (asm) [Seleccionar]
ehdr:                                                 ; Elf32_Ehdr
                db      0x7F, "ELF", 1, 1, 1, 0         ;   e_ident
        times 8 db      0
                dw      2                               ;   e_type
                dw      3                               ;   e_machine
                dd      1                               ;   e_version
                dd      _start                          ;   e_entry
                dd      phdr - $$                       ;   e_phoff
                dd      0                               ;   e_shoff
                dd      0                               ;   e_flags
                dw      ehdrsize                        ;   e_ehsize
                dw      phdrsize                        ;   e_phentsize
                dw      1                               ;   e_phnum
                dw      0                               ;   e_shentsize
                dw      0                               ;   e_shnum
                dw      0                               ;   e_shstrndx
 
  ehdrsize      equ     $ - $$
 
  phdr:                                                 ; Elf32_Phdr
                dd      1                               ;   p_type
                dd      0                               ;   p_offset
                dd      $$                              ;   p_vaddr
                dd      $$                              ;   p_paddr
                dd      filesize                        ;   p_filesz
                dd      filesize                        ;   p_memsz
                dd      5                               ;   p_flags
                dd      0x1000                          ;   p_align
 
  phdrsize      equ     $ - phdr
 
  _start:
                mov     ebx, 0
                xor     eax, eax
                inc     eax
                int     0x80
 
 
  filesize      equ     $ - $$


En el que se reduce el tamaño del ejecutable a 91 bytes, el programa termina por una señal SIGTERM, si alguien me pudiera decir que porque falla?

Saludos.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

cpu2

La trazastes, para mirar de donde viene ese SIGTERM?

Un saludo.

0xDani

Despues de trazarlo me he dado cuenta cuenta de que era una SIGKILL:

Código (bash) [Seleccionar]
strace ./tiny
execve("./tiny", ["./tiny"], [/* 39 vars */] <unfinished ...>
+++ killed by SIGKILL +++
Terminado (killed)


Pero no se porque... que proceso esta matando al mio y porque? en que falla?

Saludos.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

cpu2

#3
No sé, solo te dije lo de trazar porque me ayudo con unos SIGBUS y Segmentation fault, pero ya veo que no te sirvió de mucho.

Siento no poder ayudarte.

Un saludo.

P.D: Repasa las estructuras de los cabezales.

0xDani

Gracias de todas formas  :P
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM