bash-2.05$ what xxx
ndmpd:
Product: yyy
Release:
Build number: unknown user-2011-87
Build date: Mon Mar 28 20:51:25 2011
Build arch.: solaris
Build info: unknown host:/xx/yyy/zzz/vv/www,DBG=1,OPT=-O
当我在可执行文件(xxx)上运行what
命令时。我们不希望打印以下行。
Build info: unknown host:/export/home/murugs2/SI/dev,DBG=1,OPT=-O
我不知道程序员这么做了多少。我想删除它。怎么做? src文件(c ++代码)使用gcc编译。
答案 0 :(得分:2)
这些字符串对应于目标文件中的SCCS版本信息模式。
您可以通过修补二进制文件来删除不需要的文件,但最简单的方法是将其从源代码中删除。通过查找“@(#)”标记,可以轻松找到它。
例如:
char sccsid[] = "@(#) Build info: unknown host:/xx/yyy/zzz/vv/www,DBG=1,OPT=-O";
答案 1 :(得分:1)
这通常存储在ELF评论部分,可以查看,删除,添加或替换为/usr/ccs/bin/mcs
命令的各种选项。
答案 2 :(得分:0)
假设已编译的二进制文件不使用它,则没有理由不能自己编辑字符串(通过将所有字符更改为-
或其他内容)。虽然strip
可能会帮助您,但我不知道有什么实用程序可以帮助您。