linux下c语言怎么隐藏进程命令行参数
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍了linux下c语言怎么隐藏进程命令行参数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux下c语言怎么隐藏进程命令行参数文章都会有所收获,下面我们
千家信息网最后更新 2026年11月04日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安全错误
数据库的锁怎样保障安全
互联网科技园
互联网加科技
盈实互联网科技
与互联网科技公司
美国互联网黑科技
互联网科技上市公司
互联网金融科技委员会
中正互联网科技招聘
湖南洣水互联网科技有限公司扣款
华夏恒生科技与互联网科技
用友工业互联网科技发展
互联网科技年终奖
从那以后互联网科技有限公司
互联网科技包装股份有限公司上市
同城互联网络科技
美国五大互联网科技公司市值多少
杭州融税互联网科技有限公司
瑞安市蟠桃会互联网科技有限公司
互联网企业和网络科技有限公司
科技美学互联网 艺术
科技和互联网公司
金融科技还是互联网
贷财互联网科技
善班互联网科技有限公司
互联网时代科技改变生活
晓花互联网科技有限公司网址
华夏恒生互联网科技013171
互联网数据科技专业
恒生科技互联网指数十大成分股
如何强化互联网金融科技