标签:cat mic isp splay 指令 size string win strong

当fd为0的时候代表标准输入,也就是控制台,然后就可以实现buf=="LETMEWIN\n" , 编辑了一下fd.c-->命名为1.c用来测试,gcc编译指令“gcc 1.c -o 1”
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char buf[32];
int main(int argc, char* argv[], char* envp[]){
if(argc<2)
{
printf("pass argv[1] a number\n");
return 0;
}
printf("%s %s\n",argv[0],argv[1]);
int fd = atoi( argv[1] ) - 0x1234;
printf("fd:%d\n",fd);
int len = 0;
len = read(fd, buf, 32);
if(!strcmp("LETMEWIN\n", buf)){
printf("good job :)\n");
system("/bin/cat flag");
exit(0);
}
printf("learn about Linux file IO\n");
return 0;
}
本来是想直接传0x1234但是atoi后为0,看来atoi函数不支持十六进制

标签:cat mic isp splay 指令 size string win strong
原文地址:https://www.cnblogs.com/chrysanthemum/p/12327540.html