请教如何把一个已经写好的 shell 脚本“内置”到 C 语言程序里并运行。

查看 33|回复 3
作者:oneforall   
shell 脚本的加密方法目前知道两种,一种是 shc ,另一种是 gzexe ,想试试一个新思路。
以下代码仅实现在 C 语言程序中运行 shell 脚本:
#include
#include
int main() {
// 使用 system 函数调用 shell 脚本
int result = system("sh your_script.sh");
// 检查执行结果
if (result == -1) {
perror("Error executing the shell script");
return EXIT_FAILURE;
} else {
printf("Shell script executed successfully\n");
return EXIT_SUCCESS;
}
}
也在网上搜索到很多在 C 语言中逐行写入 shell 脚本命令的方法,觉得不太方便。请教大佬们怎么把一个已经编写好的 shell 脚本文件“内置”或者说“隐藏”到程序中,让人看起来就是一个可执行程序,每次运行程序时,就会“释放”这个 shell 脚本到/tmp 目录下,再执行 sh /tmp/myshell.sh 。
AoEiuV020JP   
管道,
ihciah   
首先实现功能的话没必要走文件,直接将内容 pipe 给 sh 或者作为 sh -c 的参数即可;其次你要加密这个就有点难了,至少你得把 sh 的逻辑自己实现一把,否则随便 alias sh 为一个 logger + 系统 sh 就能记录下来你的原始脚本(也是常见的渗透手段),你甚至不能在某个瞬间解压出明文脚本内容,否则直接 frida 挂上去就 dump 出来了。
proxytoworld   
释放文件不是直接释放吗
您需要登录后才可以回帖 登录 | 立即注册

返回顶部