2.如果用命令行手工编译,就多加个参数-std=c++17,例如命令应该是:
"g++" -std=c++17 "text.cpp" -o "text.exe"
这样就能编译成功了。
3.如果是集成环境,那就在调用插件那里增加这个参数:-std=c++17
第一步非常简单,就是获取到shc
程序的源码文件,这个可以从官方站点(现在视乎无法访问)下载,或者从参考资料里面提供的地址下载。
2
下载到源文件后,先要解压出来,使用Tarball工具进行解压,命令时
tar
-xvf
shc.tar
这样就能得到解压后的文件,。
3
这时候我们自己编译shc得到可以使用的可执行程序,过程如下:
make
make
install
等待系统完成即可,我这里因为权限问题,帮助文件安装出了些问题,但整体还是没有问题的。
4
我们准备一个程序,这里就使用简单的显示语句,文件名
test.sh
echo
"
this
is
a
shell"
然后
sch
-f
test.sh
完成编译 *** 作,会发现目录下多出如下图所示的文件
5
这里是编译完成后的目录内容,可以看到
.x
的已经编译后的二进制可执行文件,而
.x.c
的是转化的C语言源文件。
6
这里显示的是经过转化过的C语言源文件,可以在同一目录下看到,内容已经经过处理,字符串都进行了编码处理。
7
我们直接执行对应的编译后的二进制程序,可以看到,效果和shell文件是一样的,但是这样源代码隐藏了起来,保密性强。
END
注意事项
shc需要自己编译,因此您需要有GCC的环境
shc
在使用了
-r
选项的时候具有通用性,很多系统之间可以直接运行,参数如下:
shc
并不是真正意义的高强度加密,因此很容易被逆向工程,所以不要依靠这个的安全性
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)