Looks like that for some reason /usr/lib/statifier/elf_class ./auCDTect
failed with status 136. It's mean that program was killed by the signal SIGFPE.
Hello Valery,
could you please help, what does this exit status mean?
pavel@debian:~/aucdtect$ statifier -V
1.6.12
pavel@debian:~/aucdtect$ statifier -v auCDtect auCDtect1
+ Main
+ set -e
+ source /tmp/statifier.tmpdir.1074/common/option.src
++ opt_orig_exe=./auCDtect
++ opt_new_exe=auCDtect1
++ opt_loader_num_var=0
++ opt_keep_working_directory=
++ opt_verbose=yes
+ set +e
+ Sanity ./auCDtect
+ local Func=Sanity
+ '[' 1 -ne 1 -o x./auCDtect = x ']'
+ local OrigExe=./auCDtect
+ '[' -f ./auCDtect ']'
+ '[' -x ./auCDtect ']'
+ '[' -r ./auCDtect ']'
+ return 0
+ local ElfClass
++ /usr/lib/statifier/elf_class ./auCDtect
+ ElfClass=
+ return
+ st=136
+ '[' x = x ']'
+ rm -rf /tmp/statifier.tmpdir.1074
+ exit 136
I'd like to get static binary from this binary which successfully launches on Debian 3.1, please see readelf output.
pavel@debian:~/aucdtect$ uname -a
Linux debian 2.4.27-3-386 #1 Wed Dec 6 00:38:33 UTC 2006 i686 GNU/Linux
pavel@debian:~/aucdtect$ readelf -a ./auCDtect
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x8048990
Start of program headers: 52 (bytes into file)
Start of section headers: 97028 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 6
Size of section headers: 40 (bytes)
Number of section headers: 24
Section header string table index: 23
Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .interp PROGBITS 080480f4 0000f4 000013 00 A 0 0 1 [ 2] .note.ABI-tag NOTE 08048108 000108 000020 00 A 0 0 4 [ 3] .hash HASH 08048128 000128 000134 04 A 4 0 4 [ 4] .dynsym DYNSYM 0804825c 00025c 000260 10 A 5 1 4 [ 5] .dynstr STRTAB 080484bc 0004bc 000193 00 A 0 0 1 [ 6] .gnu.version VERSYM 08048650 000650 00004c 02 A 4 0 2 [ 7] .gnu.version_r VERNEED 0804869c 00069c 000050 00 A 5 2 4 [ 8] .rel.dyn REL 080486ec 0006ec 000020 08 A 4 0 4 [ 9] .rel.plt REL 0804870c 00070c 0000c8 08 A 4 b 4 [10] .init PROGBITS 080487d4 0007d4 000018 00 AX 0 0 4 [11] .plt PROGBITS 080487ec 0007ec 0001a0 04 AX 0 0 4 [12] .text PROGBITS 08048990 000990 015760 00 AX 0 0 16 [13] .fini PROGBITS 0805e0f0 0160f0 00001e 00 AX 0 0 4 [14] .rodata PROGBITS 0805e120 016120 000a98 00 A 0 0 32 [15] .data PROGBITS 0805f000 017000 000700 00 WA 0 0 32 [16] .eh_frame PROGBITS 0805f700 017700 0001bc 00 WA 0 0 4 [17] .gcc_except_table PROGBITS 0805f8bc 0178bc 00001c 00 WA 0 0 4 [18] .dynamic DYNAMIC 0805f8d8 0178d8 0000d8 08 WA 5 0 4 [19] .ctors PROGBITS 0805f9b0 0179b0 000008 00 WA 0 0 4 [20] .dtors PROGBITS 0805f9b8 0179b8 000008 00 WA 0 0 4 [21] .got PROGBITS 0805f9c0 0179c0 000074 04 WA 0 0 4 [22] .bss NOBITS 0805fa40 017a40 044460 00 WA 0 0 32 [23] .shstrtab STRTAB 00000000 017a40 0000c2 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR 0x000034 0x08048034 0x08048034 0x000c0 0x000c0 R E 0x4
INTERP 0x0000f4 0x080480f4 0x080480f4 0x00013 0x00013 R 0x1 [Requesting program interpreter: /lib/ld-linux.so.2]
LOAD 0x000000 0x08048000 0x08048000 0x16bb8 0x16bb8 R E 0x1000
LOAD 0x017000 0x0805f000 0x0805f000 0x00a34 0x44ea0 RW 0x1000
DYNAMIC 0x0178d8 0x0805f8d8 0x0805f8d8 0x000d8 0x000d8 RW 0x4
NOTE 0x000108 0x08048108 0x08048108 0x00020 0x00020 R 0x4
Thank you for the info.
I had a look at staticx - as far as I understand it unpack all shared libraries into temp location and run from it.Statifier uses kind of snapshot when all libraries already loaded, hence the different.
RegardsValery
Hello Valery,
could you please help, what does this exit status mean?
I'd like to get static binary from this binary which successfully launches on Debian 3.1.
Last edit: pavel 2020-09-07
Looks like that for some reason /usr/lib/statifier/elf_class ./auCDTect
failed with status 136. It's mean that program was killed by the signal SIGFPE.
Strange.
Valery
Hello Valery,
could you please help, what does this exit status mean?
pavel@debian:~/aucdtect$ statifier -V
1.6.12
pavel@debian:~/aucdtect$ statifier -v auCDtect auCDtect1
+ Main
+ set -e
+ source /tmp/statifier.tmpdir.1074/common/option.src
++ opt_orig_exe=./auCDtect
++ opt_new_exe=auCDtect1
++ opt_loader_num_var=0
++ opt_keep_working_directory=
++ opt_verbose=yes
+ set +e
+ Sanity ./auCDtect
+ local Func=Sanity
+ '[' 1 -ne 1 -o x./auCDtect = x ']'
+ local OrigExe=./auCDtect
+ '[' -f ./auCDtect ']'
+ '[' -x ./auCDtect ']'
+ '[' -r ./auCDtect ']'
+ return 0
+ local ElfClass
++ /usr/lib/statifier/elf_class ./auCDtect
+ ElfClass=
+ return
+ st=136
+ '[' x = x ']'
+ rm -rf /tmp/statifier.tmpdir.1074
+ exit 136
I'd like to get static binary from this binary which successfully launches on Debian 3.1, please see readelf output.
pavel@debian:~/aucdtect$ uname -a
Linux debian 2.4.27-3-386 #1 Wed Dec 6 00:38:33 UTC 2006 i686 GNU/Linux
pavel@debian:~/aucdtect$ readelf -a ./auCDtect
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x8048990
Start of program headers: 52 (bytes into file)
Start of section headers: 97028 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 6
Size of section headers: 40 (bytes)
Number of section headers: 24
Section header string table index: 23
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .interp PROGBITS 080480f4 0000f4 000013 00 A 0 0 1
[ 2] .note.ABI-tag NOTE 08048108 000108 000020 00 A 0 0 4
[ 3] .hash HASH 08048128 000128 000134 04 A 4 0 4
[ 4] .dynsym DYNSYM 0804825c 00025c 000260 10 A 5 1 4
[ 5] .dynstr STRTAB 080484bc 0004bc 000193 00 A 0 0 1
[ 6] .gnu.version VERSYM 08048650 000650 00004c 02 A 4 0 2
[ 7] .gnu.version_r VERNEED 0804869c 00069c 000050 00 A 5 2 4
[ 8] .rel.dyn REL 080486ec 0006ec 000020 08 A 4 0 4
[ 9] .rel.plt REL 0804870c 00070c 0000c8 08 A 4 b 4
[10] .init PROGBITS 080487d4 0007d4 000018 00 AX 0 0 4
[11] .plt PROGBITS 080487ec 0007ec 0001a0 04 AX 0 0 4
[12] .text PROGBITS 08048990 000990 015760 00 AX 0 0 16
[13] .fini PROGBITS 0805e0f0 0160f0 00001e 00 AX 0 0 4
[14] .rodata PROGBITS 0805e120 016120 000a98 00 A 0 0 32
[15] .data PROGBITS 0805f000 017000 000700 00 WA 0 0 32
[16] .eh_frame PROGBITS 0805f700 017700 0001bc 00 WA 0 0 4
[17] .gcc_except_table PROGBITS 0805f8bc 0178bc 00001c 00 WA 0 0 4
[18] .dynamic DYNAMIC 0805f8d8 0178d8 0000d8 08 WA 5 0 4
[19] .ctors PROGBITS 0805f9b0 0179b0 000008 00 WA 0 0 4
[20] .dtors PROGBITS 0805f9b8 0179b8 000008 00 WA 0 0 4
[21] .got PROGBITS 0805f9c0 0179c0 000074 04 WA 0 0 4
[22] .bss NOBITS 0805fa40 017a40 044460 00 WA 0 0 32
[23] .shstrtab STRTAB 00000000 017a40 0000c2 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR 0x000034 0x08048034 0x08048034 0x000c0 0x000c0 R E 0x4
INTERP 0x0000f4 0x080480f4 0x080480f4 0x00013 0x00013 R 0x1
[Requesting program interpreter: /lib/ld-linux.so.2]
LOAD 0x000000 0x08048000 0x08048000 0x16bb8 0x16bb8 R E 0x1000
LOAD 0x017000 0x0805f000 0x0805f000 0x00a34 0x44ea0 RW 0x1000
DYNAMIC 0x0178d8 0x0805f8d8 0x0805f8d8 0x000d8 0x000d8 RW 0x4
NOTE 0x000108 0x08048108 0x08048108 0x00020 0x00020 R 0x4
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata
03 .data .eh_frame .gcc_except_table .dynamic .ctors .dtors .got .bss
04 .dynamic
05 .note.ABI-tag
Dynamic segment at offset 0x178d8 contains 22 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libstdc++-libc6.2-2.so.3]
0x00000001 (NEEDED) Shared library: [libm.so.6]
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x0000000c (INIT) 0x80487d4
0x0000000d (FINI) 0x805e0f0
0x00000004 (HASH) 0x8048128
0x00000005 (STRTAB) 0x80484bc
0x00000006 (SYMTAB) 0x804825c
0x0000000a (STRSZ) 403 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x805f9c0
0x00000002 (PLTRELSZ) 200 (bytes)
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x804870c
0x00000011 (REL) 0x80486ec
0x00000012 (RELSZ) 32 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffe (VERNEED) 0x804869c
0x6fffffff (VERNEEDNUM) 2
0x6ffffff0 (VERSYM) 0x8048650
0x00000000 (NULL) 0x0
Relocation section '.rel.dyn' at offset 0x6ec contains 4 entries:
Offset Info Type Sym.Value Sym. Name
0805fa30 00002406 R_386_GLOB_DAT 00000000 gmon_start
0805fa40 00000a05 R_386_COPY 0805fa40 stdout
0805fa44 00000b05 R_386_COPY 0805fa44 stderr
0805fa48 00001c05 R_386_COPY 0805fa48 stdin
Relocation section '.rel.plt' at offset 0x70c contains 25 entries:
Offset Info Type Sym.Value Sym. Name
0805f9cc 00000107 R_386_JUMP_SLOT 080487fc ferror
0805f9d0 00000207 R_386_JUMP_SLOT 0804880c feof
0805f9d4 00000407 R_386_JUMP_SLOT 0804881c log10
0805f9d8 00000507 R_386_JUMP_SLOT 0804882c fprintf
0805f9dc 00000607 R_386_JUMP_SLOT 0804883c pow
0805f9e0 00000807 R_386_JUMP_SLOT 0804884c __rethrow
0805f9e4 00000907 R_386_JUMP_SLOT 0804885c fread
0805f9e8 00000c07 R_386_JUMP_SLOT 0804886c __deregister_frame_inf
0805f9ec 00000d07 R_386_JUMP_SLOT 0804887c fseek
0805f9f0 00000e07 R_386_JUMP_SLOT 0804888c atan2
0805f9f4 00001007 R_386_JUMP_SLOT 0804889c __libc_start_main
0805f9f8 00001207 R_386_JUMP_SLOT 080488ac sqrt
0805f9fc 00001307 R_386_JUMP_SLOT 080488bc strrchr
0805fa00 00001407 R_386_JUMP_SLOT 080488cc exit
0805fa04 00001507 R_386_JUMP_SLOT 080488dc atoi
0805fa08 00001607 R_386_JUMP_SLOT 080488ec calloc
0805fa0c 00001907 R_386_JUMP_SLOT 080488fc free
0805fa10 00001b07 R_386_JUMP_SLOT 0804890c memset
0805fa14 00001d07 R_386_JUMP_SLOT 0804891c strncpy
0805fa18 00001e07 R_386_JUMP_SLOT 0804892c fopen
0805fa1c 00001f07 R_386_JUMP_SLOT 0804893c __builtin_delete
0805fa20 00002107 R_386_JUMP_SLOT 0804894c __builtin_new
0805fa24 00002207 R_386_JUMP_SLOT 0804895c log
0805fa28 00002307 R_386_JUMP_SLOT 0804896c __register_frame_info
0805fa2c 00002507 R_386_JUMP_SLOT 0804897c strcpy
There are no unwind sections in this file.
Symbol table '.dynsym' contains 38 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 080487fc 99 FUNC GLOBAL DEFAULT UND ferror@GLIBC_2.0 (2)
2: 0804880c 99 FUNC GLOBAL DEFAULT UND feof@GLIBC_2.0 (2)
3: 0805f8d8 0 OBJECT GLOBAL DEFAULT ABS DYNAMIC
4: 0804881c 181 FUNC GLOBAL DEFAULT UND log10@GLIBC_2.0 (3)
5: 0804882c 45 FUNC GLOBAL DEFAULT UND fprintf@GLIBC_2.0 (2)
6: 0804883c 537 FUNC GLOBAL DEFAULT UND pow@GLIBC_2.0 (3)
7: 080487d4 0 FUNC GLOBAL DEFAULT 10 _init
8: 0804884c 206 FUNC GLOBAL DEFAULT UND __rethrow
9: 0804885c 256 FUNC GLOBAL DEFAULT UND fread@GLIBC_2.0 (2)
10: 0805fa40 4 OBJECT GLOBAL DEFAULT 22 stdout@GLIBC_2.0 (2)
11: 0805fa44 4 OBJECT GLOBAL DEFAULT 22 stderr@GLIBC_2.0 (2)
12: 0804886c 172 FUNC WEAK DEFAULT UND __deregister_frame_info
13: 0804887c 231 FUNC GLOBAL DEFAULT UND fseek@GLIBC_2.0 (2)
14: 0804888c 183 FUNC GLOBAL DEFAULT UND atan2@GLIBC_2.0 (3)
15: 0805fa34 0 OBJECT GLOBAL DEFAULT ABS __bss_start
16: 0804889c 211 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.0 (2)
17: 0805e0f0 0 FUNC GLOBAL DEFAULT 13 _fini
18: 080488ac 144 FUNC GLOBAL DEFAULT UND sqrt@GLIBC_2.0 (3)
19: 080488bc 441 FUNC GLOBAL DEFAULT UND strrchr@GLIBC_2.0 (2)
20: 080488cc 229 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.0 (2)
21: 080488dc 43 FUNC GLOBAL DEFAULT UND atoi@GLIBC_2.0 (2)
22: 080488ec 896 FUNC GLOBAL DEFAULT UND calloc@GLIBC_2.0 (2)
23: 0805fa34 0 OBJECT GLOBAL DEFAULT ABS _edata
24: 0805f9c0 0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE
25: 080488fc 244 FUNC GLOBAL DEFAULT UND free@GLIBC_2.0 (2)
26: 080a3ea0 0 OBJECT GLOBAL DEFAULT ABS _end
27: 0804890c 67 FUNC GLOBAL DEFAULT UND memset@GLIBC_2.0 (2)
28: 0805fa48 4 OBJECT GLOBAL DEFAULT 22 stdin@GLIBC_2.0 (2)
29: 0804891c 156 FUNC GLOBAL DEFAULT UND strncpy@GLIBC_2.0 (2)
30: 0804892c 160 FUNC GLOBAL DEFAULT UND fopen@GLIBC_2.1 (4)
31: 0804893c 44 FUNC GLOBAL DEFAULT UND builtin_delete
32: 0805e124 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used
33: 0804894c 332 FUNC GLOBAL DEFAULT UND __builtin_new
34: 0804895c 181 FUNC GLOBAL DEFAULT UND log@GLIBC_2.0 (3)
35: 0804896c 129 FUNC WEAK DEFAULT UND __register_frame_info
36: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start
37: 0804897c 48 FUNC GLOBAL DEFAULT UND strcpy@GLIBC_2.0 (2)
Histogram for bucket list length (total of 37 buckets):
Length Number % of total Coverage
0 12 ( 32.4%)
1 15 ( 40.5%) 40.5%
2 8 ( 21.6%) 83.8%
3 2 ( 5.4%) 100.0%
Version symbols section '.gnu.version' contains 38 entries:
Addr: 0000000008048650 Offset: 0x000650 Link: 4 (.dynsym)
000: 0 (local) 2 (GLIBC_2.0) 2 (GLIBC_2.0) 1 (global)
004: 3 (GLIBC_2.0) 2 (GLIBC_2.0) 3 (GLIBC_2.0) 1 (global)
008: 0 (local) 2 (GLIBC_2.0) 2 (GLIBC_2.0) 2 (GLIBC_2.0)
00c: 0 (local) 2 (GLIBC_2.0) 3 (GLIBC_2.0) 1 (global)
010: 2 (GLIBC_2.0) 1 (global) 3 (GLIBC_2.0) 2 (GLIBC_2.0)
014: 2 (GLIBC_2.0) 2 (GLIBC_2.0) 2 (GLIBC_2.0) 1 (global)
018: 1 (global) 2 (GLIBC_2.0) 1 (global) 2 (GLIBC_2.0)
01c: 2 (GLIBC_2.0) 2 (GLIBC_2.0) 4 (GLIBC_2.1) 0 (local)
020: 1 (global) 0 (local) 3 (GLIBC_2.0) 0 (local)
024: 0 (local) 2 (GLIBC_2.0)
Version needs section '.gnu.version_r' contains 2 entries:
Addr: 0x000000000804869c Offset: 0x00069c Link to section: 5 (.dynstr)
000000: Version: 1 File: libm.so.6 Cnt: 1
0x0010: Name: GLIBC_2.0 Flags: none Version: 3
0x0020: Version: 1 File: libc.so.6 Cnt: 2
0x0030: Name: GLIBC_2.1 Flags: none Version: 4
0x0040: Name: GLIBC_2.0 Flags: none Version: 2
exit status 136
Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/statifier/discussion/358807/
To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/
JFYI got success using this https://github.com/JonathonReinhart/staticx/
It works with randomization enabled.
Thank you for the info.
I had a look at staticx - as far as I understand it unpack all shared libraries into temp location and run from it.Statifier uses kind of snapshot when all libraries already loaded, hence the different.
RegardsValery
JFYI got success using this https://github.com/JonathonReinhart/staticx/
It works with randomization enabled.
exit status 136
Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/statifier/discussion/358807/
To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/