iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >linux下c语言怎么隐藏进程命令行参数
  • 879
分享到

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

2024-04-02 19:04:59 879人浏览 八月长安
摘要

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

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

复写argv参数

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

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main(int arGC,char *argv[]) {
  int i,j;
  for (i=1;i<argc;i++) {
    for (j=strlen(argv[i])-1;j>=0;j--) {
      argv[i][j] = 'x';
    }
  }
  getchar();
  return 0;
}

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

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

获取标准输入

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

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

因此我想到了通过读取标准输入来获取程序传递参数,但是需要在运行程序后敲键盘输入参数,不过使用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下测试

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

在window下测试:

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

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

--结束END--

本文标题: linux下c语言怎么隐藏进程命令行参数

本文链接: https://www.lsjlt.com/news/95798.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • linux下c语言怎么隐藏进程命令行参数
    这篇文章主要介绍了linux下c语言怎么隐藏进程命令行参数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux下c语言怎么隐藏进程命令行参数文章都会有所收获,下面我们一起来...
    99+
    2024-04-02
  • C语言命令行参数怎么使用
    这篇“C语言命令行参数怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言命令行参数怎么使用”文章吧。c语言的命令行...
    99+
    2023-06-17
  • C语言怎么对命令行参数求和
    在C语言中,可以通过命令行参数传递给程序,然后对这些参数进行求和。以下是一个示例代码: #include #include i...
    99+
    2023-10-26
    C语言
  • C语言命令行参数如何使用
    C语言中的命令行参数可以通过`main`函数的参数来获取。`main`函数的标准声明为`int main(int argc, cha...
    99+
    2023-08-15
    C语言
  • C语言命令行参数的使用详解
         之前曾经使用过很多次c语言的命令行参数了,但是总是每次使用的时候都不太确定,需要重新查资料,这次来个总结。c语言的命令行参数非常简单...
    99+
    2024-04-02
  • C语言中main函数与命令行参数详细讲解
    目录一、main 函数的概念二、main 函数的本质命令行三、main 函数的参数四、main 函数一定是程序执行的第一个函数吗五、小结一、main 函数的概念 C语言中 main ...
    99+
    2024-04-02
  • C语言中main函数与命令行参数实例分析
    这篇文章主要介绍了C语言中main函数与命令行参数实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言中main函数与命令行参数实例分析文章都会有所收获,下面我们一起来看看吧。一、main 函数的概念C...
    99+
    2023-06-30
  • linux下怎么用SCP命令进行网络传输
    本篇内容主要讲解“linux下怎么用SCP命令进行网络传输”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux下怎么用SCP命令进行网络传输”吧!早上看到scp 的内容,因为自己偶尔也会用到...
    99+
    2023-06-16
  • c++获取命令行参数失败怎么解决
    C++获取命令行参数失败的原因可能有很多种,下面列举几种常见的解决方案:1. 检查代码:确保你的代码正确获取命令行参数。你可以使用a...
    99+
    2023-09-23
    c++
  • c语言怎么进行网路编程
    在C语言中进行网络编程,可以使用socket库来创建和操作网络连接。以下是一个简单的例子来说明如何使用C语言进行网络编程:```c#...
    99+
    2023-09-22
    c语言
  • Linux下的分析进程命令PS怎么用
    这篇文章将为大家详细讲解有关Linux下的分析进程命令PS怎么用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。当我们在Linux系统下要对进程进行监测和控制时,首先必须要了解当前进程的情况,...
    99+
    2023-06-05
  • linux shell命令行选项与参数怎么使用
    在Linux shell中,命令行选项和参数用于向命令提供额外的信息或配置。下面是一些常用的使用方式:1. 选项使用一个或多个短横线...
    99+
    2023-08-17
    linux shell
  • C语言怎么利用system调用系统命令行
    本篇内容介绍了“C语言怎么利用system调用系统命令行”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!system,顾名思义,就是调用系统命...
    99+
    2023-06-22
  • Linux怎么安装使用pidstat命令以对进程数据进行监控
    本篇内容介绍了“Linux怎么安装使用pidstat命令以对进程数据进行监控”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  Linux系统...
    99+
    2023-06-13
  • 怎么进行C语言中数组的使用
    怎么进行C语言中数组的使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1 数组的基本概念数组:类型相同的数据元素的集合,是C语言中的一种构造数据类型。这些元素会顺序地存储在内...
    99+
    2023-06-22
  • Linux图形化界面下怎么使用命令进行截图
    本篇内容介绍了“Linux图形化界面下怎么使用命令进行截图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!以前在LINUX里面截图都是直接按p...
    99+
    2023-06-12
  • C语言和命令行间的交互问题怎么解决
    本篇内容主要讲解“C语言和命令行间的交互问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言和命令行间的交互问题怎么解决”吧!在Windows操作系统中,后缀为.exe的文件都是可执...
    99+
    2023-06-17
  • C语言怎么对一个数字进行加密
    在C语言中,可以使用一些算法对数字进行加密。以下是一种简单的加密方法——加密算法将数字每一位加上一个特定的值,然后将得到的结果与一个...
    99+
    2024-02-29
    C语言
  • Linux系统上怎么进行Go语言程序调试
    这篇文章主要讲解了“Linux系统上怎么进行Go语言程序调试”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统上怎么进行Go语言程序调试”吧!调试工具Go语言提供了内置的调试器——...
    99+
    2023-07-06
  • 【Linux】Linux环境变量的理解 --- 命令行参数、shell子进程、环境变量、本地变量…
    加油布鲁斯,你能行的! 文章目录 一、环境变量PATH中的系统默认搜索路径1.将程序安装到/usr/bin目录(不带./运行自己写的程序)2.将程序路径添加到PATH环境变量里面(不带./运行自己写的程序) 二、环境变量的深度...
    99+
    2023-08-25
    linux 服务器 运维
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作