shell加密

2016.06.19 08:53 Sun| 355 visits 问题&解决方案| Text

写在前面

在一个信息复制成本基本为零的时代,在一个知识产权不被尊重的国家,在一个山寨横行的国家,我该保护好我自己。

手段

将shell变成可执行的二进制文件,从而隐藏真实脚本。

几种加密方式

1. gzexe

这种方法没有试验过,是普通的压缩,应该效果一般,而且google一下很容易找到破解的办法,PASS。

2. 自用的Winter

这个是和极客工具箱的鸭梨一起讨论的结果,把简单的shell脚本用c语言封装,在c代码里以system函数执行,由于字符串常量在储存在数据段,通过winHEX里能查看得到,所以shell加密也就变成了字符串加密的博弈,脚本先按照一定的规则进行字符串加密,实现比较丑陋,但是很适合单行的命令,而且加密方式由自己控制,灵活度高。

3. shc

来自于github的开源项目 shc,主要原理和上面的winter差不多,都是对源shell代码进行加密转变成c代码,之后编译得到可执行文件,支持很多特性main page,使用toolchain交叉编译就可以用在极路由上。

感谢

写在最后

这样做是有悖Linux开源精神的行为,幸好Linus当初没有这样的想法。这也是可悲的,创新会被埋没。