linux下c语言怎么隐藏进程命令行参数
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章主要介绍了linux下c语言怎么隐藏进程命令行参数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux下c语言怎么隐藏进程命令行参数文章都会有所收获,下面我们
千家信息网最后更新 2025年11月13日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安全错误
数据库的锁怎样保障安全
西安星网锐捷网络技术有限公司
进一步规范网络安全的通知
dns服务器不需要配置吗
中国西部软件开发的国企
如何加强网络安全管理PPT
久其数据库
dz3.4论坛数据库表
参与数字货币的网络安全公司
数据库应用技术教师表结构
网牧网络技术有限公司
扬州通用软件开发特点
天龙八部网游游戏服务器
软件开发部对外工作流程
天猫精灵服务器出错了是什么意思
丽江gpu云服务器公司
九零后互联网科技有限公司
软件开发五个流程
网络安全座谈会通讯稿
比特币私钥数据库下载
海康交通视频管理服务器
实际部门数据库
生物基因数据库
公司软件开发设计能力认定
本机服务器ip
ftp服务器管理web网页
郑州云时代互联网科技有限公司
软件开发现在还能做吗
国家网络安全的股票有哪些
重庆软件开发平均薪资
联想服务器远程管理网口共享