千家信息网

linux下c语言怎么隐藏进程命令行参数

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要介绍了linux下c语言怎么隐藏进程命令行参数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux下c语言怎么隐藏进程命令行参数文章都会有所收获,下面我们
千家信息网最后更新 2025年01月23日linux下c语言怎么隐藏进程命令行参数

这篇文章主要介绍了linux下c语言怎么隐藏进程命令行参数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux下c语言怎么隐藏进程命令行参数文章都会有所收获,下面我们一起来看看吧。

复写argv参数

该方案只在linux下的c语言中验证成功,因为window下都是win32api获取命令行参数,但是没有设置这个,估计window不支持这种骚操作吧。
该方案就是在执行程序时将argv内容修改,如下源码,仅供参考。

#include #include #include  int main(int argc,char *argv[]) {  int i,j;  for (i=1;i=0;j--) {      argv[i][j] = 'x';    }  }  getchar();  return 0;}

如下图所示,命令行参数已经隐藏了。正常程序,可以将argv复制到内存变量,然后立即复写argv,此时既可以正常使用命令行参数,也可以隐藏参数。

获取标准输入

看到c语言隐藏参数如此简单,但是我在window下验证c语言失败了,执行wmic process where caption="a.exe" get caption,commandline /value或者命令行参数仍然能看到。

因此我想到了通过读取标准输入来获取程序传递参数,但是需要在运行程序后敲键盘输入参数,不过使用echo可以完美解决该问题。
鉴于c语言已经很久没使用了,还是用go语言来写实例程序吧。顺便提一句go获取命令行参数源码,我看了也是没办法修改值的,包括window和linux。
如下所示,使用go的flag库获取标准输入的一行内容,用于解析命令行参数,源码如下所示:

package main import (  "bufio"  "flag"  "fmt"  "os"  "strings"  "time") func main() {  fs := flag.newflagset(os.args[0], flag.exitonerror)  s := fs.string("s", "", "string")  i := fs.int("i", 123, "int")   argv, _ := bufio.newreader(os.stdin).readstring('\n')  fs.parse(strings.fields(argv))   fmt.println(*s, *i)  time.sleep(time.minute)}

在linux下测试:

在window下测试:

关于"linux下c语言怎么隐藏进程命令行参数"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"linux下c语言怎么隐藏进程命令行参数"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

参数 命令 语言 程序 进程 内容 输入 标准 源码 知识 方案 篇文章 测试 验证 成功 仅供参考 一行 价值 内存 办法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 重庆数据库培训 网络安全专题教育活动信息 高中生校园网络安全手抄报 静安区网络技术服务咨询哪个好 四川ai服务器单价 网络安全攻防简单实验 ibm服务器 销售电话 数据库原理实验报告五答案 条码打印机没有添加数据库 如何用手机查网络安全密钥 最新模式制度系统软件开发 网络技术服务费用多少 开设网络安全的本科院校 无锡云服务器散热器生产商 疫情网络安全个人启示 株洲软件开发培训夜校 常州java软件开发在线咨询 服务器插件可以客户端汉化 杨浦区营销软件开发市场价格 pc光环无限连不上服务器 网络安全人才紧缺 苏州阿里云服务器全新版 软件开发产教融合 云电视提示服务器有问题 平衡网络安全市场结构 怎么打开云服务器的文件 php 数据库查询 in 双流达一诚网络技术有限公司 广东计算机应用软件开发定制 索尼psn亚洲 服务器
0