#include<stdio.h>
#include<unistd.h>
int main()
{
char *filename[]={"./BP",NULL};//BP是c文件编译链接后产生的可执行文件,目的是打印一条语句
char *envp[]={0,NULL};//如果依赖于新环境变量,这里才需要改
execve("/root/BP",filename,envp);//字符串是文件的路径需要具体到该运行文件名,直到文件夹貌似识别不了,或者命令的路径
/*注意,把下面的三个注释遇到去掉,后面的ls命令也无法执行,因为*execve执行后,相当于结束了当前的程序,切换到execve里面的那个程序*去了*/
// char *filename1[]={"ls","-al","/root",NULL};//命令和参数,记得要加NULL
// char *envp1[]={0,NULL};
// execve("/bin/ls",filename1,envp1);
return 0;
} //BP.c
#include<stdio.h>
int main()
{
printf("this is c process\n");
return 0;
}

运行结果如下

没修改前的运行结果

[22:41:10] gcc execvetest.c -o execvetest

[22:41:18] gcc BP.c -o BP

[22:41:24] ./execvetest

this is c process

注释掉前三行,并且去掉后面的注释,运行结果如下

[22:45:05] gcc execvetest.c -o execvetest

[22:45:11] gcc BP.c -o BP

[22:45:23] ./execvetest

total 64

dr-xr-x—. 15 root root 4096 May 10 21:06 .

dr-xr-xr-x. 17 root root 224 Apr 30 02:52 ..

-rw——-. 1 root root 314 Apr 30 07:08 .ICEauthority

-rw——-. 1 root root 3769 May 10 18:33 .bash_history

-rw-r–r–. 1 root root 18 Dec 28 2013 .bash_logout

-rw-r–r–. 1 root root 176 Dec 28 2013 .bash_profile

-rw-r–r–. 1 root root 208 May 10 18:19 .bashrc

drwx——. 10 root root 194 Apr 30 07:09 .cache

drwx——. 15 root root 276 Apr 30 07:09 .config

-rw-r–r–. 1 root root 100 Dec 28 2013 .cshrc

drwx——. 3 root root 25 Apr 30 06:53 .dbus

-rw——-. 1 root root 16 Apr 30 07:08 .esd_auth

drwx——. 3 root root 19 Apr 30 07:08 .local

-rw-r–r–. 1 root root 129 Dec 28 2013 .tcshrc

-rwxr-xr-x. 1 root root 8512 May 10 20:55 BP

drwxr-xr-x. 2 root root 6 Apr 30 07:08 Desktop

drwxr-xr-x. 2 root root 6 Apr 30 07:08 Documents

drwxr-xr-x. 2 root root 6 Apr 30 07:08 Downloads

drwxr-xr-x. 2 root root 6 Apr 30 07:08 Music

drwxr-xr-x. 2 root root 6 Apr 30 07:08 Pictures

drwxr-xr-x. 2 root root 6 Apr 30 07:08 Public

drwxr-xr-x. 2 root root 6 Apr 30 07:08 Templates

drwxr-xr-x. 2 root root 6 Apr 30 07:08 Videos

-rw——-. 1 root root 2742 Apr 30 02:52 anaconda-ks.cfg

drwxr-xr-x. 2 root root 4096 May 10 22:45 bp

-rw-r–r–. 1 root root 2750 Apr 30 06:55 initial-setup-ks.cfg

-rw——-. 1 root root 2033 Apr 30 02:52 original-ks.cfg

execve函数的介绍与使用的更多相关文章

  1. php常用Stream函数集介绍

    php常用Stream函数集介绍 作者: 字体:[增加 减小] 类型:转载 时间:2013-06-24   本篇文章是对php中的常用Stream函数集进行了详细的分析介绍,需要的朋友参考下     ...

  2. Signal ()函数详细介绍 Linux函数

    http://blog.csdn.net/ta893115871/article/details/7475095 Signal ()函数详细介绍 Linux函数 signal()函数理解 在<s ...

  3. JavaScript function函数种类介绍

    JavaScript function函数种类介绍 本篇主要介绍普通函数.匿名函数.闭包函数 1.普通函数介绍 1.1 示例 ? 1 2 3 function ShowName(name) {     ...

  4. C语言之函数的介绍

    函数的介绍 遇到的问题: 1.代码看起来特别多,不简洁 2.修改起来非常麻烦,需要所有用到的地方都修改 函数就可以解决上述这两个问题 函数可以理解为一个打包带,就是把一段代码打包起来,用到的时候只要写 ...

  5. ConnectString ()函数的介绍

    ConnectString ()函数的介绍: connectstring 函数主要负责数据库的连接工作 Public Function ConnectString() As String       ...

  6. Signal ()函数详细介绍 Linux函数(转)

    Signal ()函数详细介绍 Linux函数 收藏人:紫火神兵     2012-09-27 | 阅:5659  转:22    |   来源   |  分享               signa ...

  7. Python入门之函数的介绍/定义/定义类型/函数调用/Return

    本篇目录: 一. 函数的介绍 二. 函数的定义 三. 定义函数的三种类型 四. 函数调用的阶段 五. Return返回值 ======================================= ...

  8. Oracle自我补充之trunc()函数使用介绍

    oracle trunc函数使用介绍 核心提示:oracle trunc函数使用介绍 1.TRUNC(for dates) TRUNC函数为指定元素而截去的日期值. 其具体的语法格式如下: TRUNC ...

  9. loadrunner 脚本开发-web_custom_request函数详细介绍

    脚本开发-web_custom_request函数详细介绍 by:授客 QQ:1033553122 c语言版本: int web_custom_request(const char *RequestN ...

随机推荐

  1. 理解K系列与ultra-scale的区别

    总结:   K系列FPGA与KU系列FPGA的主要区别,体现在: (1)工艺制程不一样,K-28nm,KU-20nm:   (2)Ultra-Scale采用SSI:大容量K系列也采用SSI,SSI为了 ...

  2. Centos7创建用户su登录后显示为 bash-4.1$

    useradd name [root@localhost data]# su name bash-4.2$ [root@localhost ~]# cp -a /etc/skel/. /home/na ...

  3. Redis部署与基本操作

    1.安装 1)不指定安装位置,则会把redis的可执行文件安装到  redis-2.8.6/src/目录下 [root@CentOS6 ~]# ls anaconda-ks.cfg  httpd-2. ...

  4. 20165326 java第五周学习笔记

    第五周学习笔记 ch7 内部类(&外嵌类) 内部类的类体不可以声明类变量和方法 内部类如同类的变量或方法 内部类和外嵌类在编译时生成两个class文件 匿名类 某个类的一个子类没有明显的用类声 ...

  5. python 一行代码字符串转字典方法

    b = 'bid=Qzw9cKnyESM; ll="108288"; __yadk_uid=4YChvgeANLBEh4iV00n1tc0HQ8zpmSl1; __utmc=301 ...

  6. Linux下的shell与make

    Linux下的shell与make 一.shell 1.1 什么是shell ● 用户与Linux的接口 ● 命令解释器 ● 支持多用户 ● 支持复杂的编程语言 ● Shell有很多种,如:csh,t ...

  7. HDU 1166 敌兵布阵(线段树点更新区间求和裸题)

    Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任 ...

  8. SQL注入之Sqli-labs系列第二十五关(过滤 OR & AND)和第二十五A关(过滤逻辑运算符注释符)

    开始挑战第二十五关(Trick with OR & AND) 第二十五关A(Trick with comments) 0x1先查看源码 (1)这里的or和and采用了i正则匹配,大小写都无法绕 ...

  9. vsftp管理脚本(CentOS6用)

    #!/bin/bash # ### BEGIN INIT INFO # Provides: vsftpd # Required-Start: $local_fs $network $named $re ...

  10. PHP设计模式之观察者模式(转)

    开篇还是从名字说起,“观察者模式”的观察者三个字信息量很大.玩过很多网络游戏的童鞋们应该知道,即便是斗地主,除了玩家,还有一个角色叫“观察者".在我们今天他谈论的模式设计中,观察者也是如此. ...