Hi, I've hit the same problem while trying to "statify" sox. Hope you don't mind but here's the output of readelf -aW $(which sox). Thanks in advance! Error /usr/lib/statifier/64/non_pt_load: warning: can't find segment with v_addr=0x0 /usr/lib/statifier/64/non_pt_load: warning: can't find segment with v_addr=0x4000 /usr/lib/statifier/64/non_pt_load: warning: can't find segment with v_addr=0xd000 /usr/lib/statifier/64/non_pt_load: warning: can't find segment with v_addr=0x11000 readelf -aW ELF Header:...
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 On Monday, September 28, 2020, 7:37:11 AM GMT+3, pavel <spvkgn@users.sourceforge.net> wrote: 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...
JFYI got success using this https://github.com/JonathonReinhart/staticx/ It works with randomization enabled.
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 On Monday, September 7, 2020, 1:54:51 PM GMT+3, pavel <spvkgn@users.sourceforge.net> wrote: 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...
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...
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...
Please check if you /usr/include/sys/ptrace.h defines enum __ptrace_request If not try to find file with this enum Valery On Wednesday, November 6, 2019, 11:26:09 AM GMT+2, vania vania99@users.sourceforge.net wrote: alpine:~# gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-alpine-linux-musl/6.4.0/lto-wrapper Target: x86_64-alpine-linux-musl Configured with: /home/buildozer/aports/main/gcc/src/gcc-6.4.0/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info...
alpine:~# gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-alpine-linux-musl/6.4.0/lto-wrapper Target: x86_64-alpine-linux-musl Configured with: /home/buildozer/aports/main/gcc/src/gcc-6.4.0/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --target=x86_64-alpine-linux-musl --with-pkgversion='Alpine 6.4.0' --enable-checking=release --disable-fixed-point --disable-libstdcxx-pch...
Hi. Could you please tell me what gcc version you have? Valery On Saturday, November 2, 2019, 2:40:39 PM GMT+2, vania vania99@users.sourceforge.net wrote: Hi, trying to compile statifier on Alpine Linux 3.8 getting this: alpine:~/statifier-1.7.4/src# make all-local-64 ELF_CLASS=64 && mkdir --parents $ELF_CLASS && make ELF_CLASS=$ELF_CLASS all-local-internal make[1]: Entering directory '/root/statifier-1.7.4/src' gcc -c -m64 -I. -Icpus/x86_64 -I64 -Wall -O2 -g my_gdb/my_ptrace.c -o 64/my_ptrace.o...
Hi, trying to compile statifier on Alpine Linux 3.8 getting this: alpine:~/statifier-1.7.4/src# make all-local-64 ELF_CLASS=64 && mkdir --parents $ELF_CLASS && make ELF_CLASS=$ELF_CLASS all-local-internal make[1]: Entering directory '/root/statifier-1.7.4/src' gcc -c -m64 -I. -Icpus/x86_64 -I64 -Wall -O2 -g my_gdb/my_ptrace.c -o 64/my_ptrace.o In file included from my_gdb/my_ptrace.c:10:0: my_gdb/my_ptrace.h:19:7: warning: 'enum __ptrace_request' declared inside parameter list will not be visible...
Could you please send me output of the readelf -aW <your_original_exe></your_original_exe>
Dear Valery and Statifier, Thank you for creating this tool. I'm not sure if I'm using it correctly or it is the VDSO issue but am trying to statically bundle OpenFOAM with it. Although a static binary is created the following warnings are given: /usr/lib/statifier/64/non_pt_load: warning: can't find segment with v_addr=0x0 /usr/lib/statifier/64/non_pt_load: warning: can't find segment with v_addr=0x242000 And the resulting binary will not run and returns the error: -bash: ./checkMesh.statifier:...
I was right after all. In the kernel in the file fs/binfmt_elf.c /* Sanity check the number of program headers... */ if (elf_ex->e_phnum < 1 || elf_ex->e_phnum > 65536U / sizeof(struct elf_phdr)) goto out; /* ...and their total size. */ size = sizeof(struct elf_phdr) * elf_ex->e_phnum; if (size > ELF_MIN_ALIGN) goto out; First check limit phdrs size to 64K, but second one - to the ELF_MIN_ALIGN. On the x86_64 system ELF_MIN_ALIGN is 4096. When I run your executable "as is" I get following bash: ./nix-instantiate-static:...
Ooops. I was wrong. Kernel able to run elf with total size of phdrs up to 64K. So problem is not the number of phdrs
Good news - Thanks to your executable I was able to find out what problem is. readelf -h nix-instantiate-static ELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: Advanced Micro Devices X86-64 Version: 0x1 Entry point address: 0x7f1ead9b21a0 Start of program headers: 64 (bytes into file) Start of section headers: 4656 (bytes into file)...
For me statifying ffmpeg doesn't work (--verbose says Symbol '\''_dl_argc'\'' not found in the interpreter), but I've uploaded another executable that apparently has the same problem.
You can't statify shared libray, only dynamically linked executable
Hi, I am trying to use statifier (ver.1.7.4) on a shared object but getting the below...
Unfortunately, statifiied program segfault on the systems with memory randomization....
Segmentation fault on any D-generated 64 bit executable. Minimal example attached....
Well, I'm not sure what's changed, but now it doesn't work at all, even on the 32-bit...
Incidentally: # LD_ASSUME_KERNEL=2.2.5 statifier ./linux-setup ./linux-setup-static...
Well, I'm not sure what's changed, but now it doesn't work at all, even on the 32-bit...
Could you please provide a bit more info: what is your 32-bit system (distribution,...
When I run statifier on a 32-bit executable it produces an executable that will run...
Hmm... Could you please upload ffmpef.static to here?
Using statifier on the bundled ffmpeg with Ubuntu 16.04 (64 Bit), I got a 128 MB...
release 1.7.4
copy https://svn.code.sf.net/p/statifier/code/...
Statifier 1.7.4 that solved my_gdb: can't PTRACE_PEEKTEXT - 'Input/output error'...
added 1.7.4
Hello Valery, I have the same problem too using ELF Statifier with CloudFlare CFSSL...
Sorry for delay, I somehow missed your post. I solved this problem, no ssh access...
Hi! Any news on this? Do you still need an access?
I did a preliminary packaging of statifier for debian (see github.com/barak/statifier)...
No :(. If you can give me ssh access to the problematic box I can have a look
Hi! I have the same problem. Any news on this issue?
Hi, David. If you can provide me ssh access it will be much easier than ping-pong...
I'm getting the above error whenever I try to run Statifier on pretty much any program....
Sorry for the long delay, I was on vacation. Glad that you solved the problem. With...
Switched to yet another compiler - the problem solved :)
Hi. Here is what I get after running make: /bin/sh ./configure rm --force VERSION...
Hi, Alejandro. Thank you for suggestion. The problem is that you have not only statify...
I was trying to statify a program and had the stack randomization problem. Googled...
Solution to randomization: You can modify statifier.sh for changing the value of...
Yes, likely target systems should have memory randomization turned off. You can try...
It still doesn't work. Also, I guess the target systems would also have to have memory...
Yes, I wanted to see if your systems uses memory randomization. It is. Statified...
Ah, I guess you want to see whether the adresses changeā¦? (Otherwise, why would you...
On the same machine it's failed too... Can you run TWICE cat /proc/self/maps and...
I run it on the same machine where I statified and built it. [00007f45e011eea7] execve("./openclonk_static",...
Hi, Caesar. Where your executable segfault'ed - on the same box, where you statified...
I've tried out statifier because I am having trouble distributing a game that links...
I've tried out statifier because I am having trouble distributing a game that links...
Ermine uses different way for shared libraries packaging. Statified executable still...
The statifier generated executable is still dynamic as shown by "readelf" command...
Thanks for replay. I am using GEM5 in systemcall emulation mode that only accepts...
The statifier generated executable is still dynamic as shown by "readelf" command...
I am using GEM5 in systemcall emulation mode that only accepts statically linked...
I am GEM5 in systemcall emulation mode that only accepts statically linked exwecutables....
Hi, Ahmed. You did nothing wrong. Just ldd and file/readelf looks for the info in...
Hi I am using 32-bit Ubuntu 12.04.2 LTS and kernel version is 3.5.0-23-generic I...
Hi I am using 32-bit Ubuntu 12.04.2 LTS and kernel version is 3.5.0-23-generic I...