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亚洲 服务器