1

我正在尝试在 linux 下创建微小的可执行文件。我的注意力转向了 Muppetlabs.com 上一个以前使用的工具,名为 sstrip,来自 ELFkickers 集合 ( http://www.muppetlabs.com/~breadbox/software/elfkickers.html ) 它从 ELF 可执行文件中剥离的字节比剥离更多的字节独自的。似乎在 HardyHeron 之前它一直在 Ubuntu 提要中,但现在它已经消失得无影无踪了。所以我尝试自己编译,但是 asm/elf.h 头文件似乎处于一个新位置,并且 gcc 退出了:

gcc -ggdb -Wall -W -o sstrip sstrip.c
sstrip.c:12:21: error: asm/elf.h: No such file or directory
sstrip.c: In function 'readelfheader':
sstrip.c:70: error: 'ELF_DATA' undeclared (first use in this function)
sstrip.c:70: error: (Each undeclared identifier is reported only once
sstrip.c:70: error: for each function it appears in.)
sstrip.c:72: error: 'ELF_CLASS' undeclared (first use in this function)
sstrip.c:77: error: 'ELF_ARCH' undeclared (first use in this function)
sstrip.c: In function 'getmemorysize':
sstrip.c:138: warning: assignment from incompatible pointer type
sstrip.c: In function 'modifyheaders':
sstrip.c:205: warning: assignment from incompatible pointer type
make: *** [sstrip] Error 1

对于如何解决这个问题,有任何的建议吗?

或者有谁知道在哪里可以找到 PPA 中的条带?也许是另一种选择?

4

1 回答 1

2

试试这个:

$ wget http://www.muppetlabs.com/~breadbox/pub/software/ELFkickers-3.0.tar.gz
$ tar xf ELFkickers-3.0.tar.gz
$ cd ELFkickers-3.0/
$ make

然后您可以在sstrip/目录中找到sstrip二进制文件。如果您遇到错误,请发布命令的输出,以便我们为您提供帮助。make

于 2011-11-02T15:32:21.363 回答