。
实现方法
1、本文以在Redhat系统中安装ftp命令为例说明,如何将安装脚本和安装介质整合成一个文件,简化操作。
首先,编写一个脚本,包含安装的命令。
#!/bin/sh echo "Hello World" dir_installation=/root/create_bin sed -n -e '1,/^exit 0$/!p' $0 > "${dir_installation}/ftp-0.17-54.el6.x86_64.rpm" 2>/dev/null cd $dir_installation rpm -ivh ftp-0.17-54.el6.x86_64.rpm rm ftp-0.17-54.el6.x86_64.rpm exit 0
注意,这个脚本的关键在于sed
,他会把exit 0后面的内容提取出来,另存为rpm包,然后执行安装,安装完成后删掉rpm。
最后,我们用cat
命令将脚本和安装包生成一个新的文件。
这时,如果用file
命令查看install-rpm.bin文件,可以发现它的类型还是文本类型,用vim编辑器打开,还是可以看到脚本内容的,也可进行修改。
2、对于第二个隐藏代码内容的需求,有一款工具叫做
,可以用它来将脚本编程二进制文件。shc的用法比较简单,下载后make生成可执行文件,然后直接对脚本进行加密,会生成两个文件。一个以.x结尾,为可执行的二进制文件。另一个以.x.c结尾,为生成的中间c文件。shc还能指定可执行脚本的过期时间。
wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9b.tgz tar xvfz shc-3.8.9b.tgz cd shc-3.8.9b make ./shc -v shc parse(-f): No source file specified shc Usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-rvDTCAh] -f script ./shc -f install-rpm.bin
通过 shc 可以将脚本文件编译成二进制文件,隐藏了脚本的内容,对于一般的用户是没办法查看和修改的。
以上就是
为各位朋友分享的 相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多 等着你!