我在玩Linux下创建小型可执行文件的游戏。我注意到了来自muppetlabs.com的一个以前使用的工具,名为sstrip,来自elfkickers集合(http://www.muppetlabs.com/~breadbox/software/elfkickers.html
它从elf可执行文件中剥离的字节甚至比单独剥离更多。
它似乎一直在ubuntu的feed中,直到hardyheron,但现在它消失得无影无踪了。
所以我试着编译自己,但是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中哪里可以找到sstrip吗?
或许另一个选择?

最佳答案

试试这个:

$ 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命令的输出,以便我们帮助您。

07-28 02:45