ssh 远程连接
cat input.c
(1)argc=100 要初始化101个告诉他哪里结束 也就是到argv[100]=NULL
(2)argv[‘A’] 原本 argv[n] n应该是数字 所以这里取ascii码
(1)函数原型ssize_t read(int fd, void *buf, size_t count);
0:STDIN_FILENO 1:STDOUT_FILENO 2:STDERR_FILENO
(1)getenv() 获取环境变量 也就是名字是deadbeef的变量
使得值是cafebabe
buffer读取存放位置 size每次读取大小 count读取次数 stream 文件流 读取对象
if部分都是确定成功就不会报错
函数原型int recv(SOCKETs, charFAR* buf, int len, int flags);
代码(井号会触发格式所以这里没写)
include <stdio.h>
include <unistd.h>
include <sys/types.h>
include <stdlib.h>
include <sys/wait.h>
include <arpa/inet.h>
include <sys/socket.h>
include <netinet/in.h>
int main()
{
char *argv[101]={"/home/input2", [1 ... 99] = "A", NULL};
argv['A']="\x00";
argv['B']="\x20\x0a\x0d";
argv['C']="55555";//1
{建立管道pipe实现读写
pipe是进程之间交互
int pipe2stdin[2]={-1,-1};//0是读取 1是输入
int pipe2stderr[2]={-1,-1};
pid_t childpid;
pipe(pipe2stdin);
pipe(pipe2stderr);
if ( childpid == 0 ){
close(pipe2stdin[0]); close(pipe2stderr[0]);
//环境配置
write(pipe2stdin[1],"\x00\x0a\x00\xff",4);
write(pipe2stderr[1],"\x00\x0a\x02\xff",4);//2
else {
/* Parent process */
close(pipe2stdin[1]); close(pipe2stderr[1]);
dup2(pipe2stdin[0],0); dup2(pipe2stderr[0],2);//相当于read
char *env[2] = {"\xde\xad\xbe\xef=\xca\xfe\xba\xbe", NULL};
execve("/home/input2/input",argv,env); //3
//execve()用来执行参数filename字符串所代表的文件路径,第二个参数是利用指针数组来传递给执行文件,并且需要以空指针(NULL)结束,最后一个参数则为传递给执行文件的新环境变量数组。
}
FILE* fp = fopen("\x0a","w");
fwrite("\x00\x00\x00\x00",4,1,fp);
fclose(fp);//4
需要网络连接
int sockfd;
struct sockaddr_in server;
sockfd = socket(AF_INET,SOCK_STREAM,0);//建立socket
if ( sockfd < 0){//建立socket
perror("Cannot create the socket");
exit(1);
}
my_addr.sin_family=AF_INET;//该属性表示接收本机或其他机器传输
my_addr.sin_port=htons(PORT);//端口号
my_addr.sin_addr.s_addr=htonl(INADDR_ANY);//IP
if ( connect(sockfd, (struct sockaddr*) &server, sizeof(server)) < 0 ){//绑定地址结构体和socket
perror("Problem connecting");
exit(1);
}
//环境配置
char buf[4] = "\xde\xad\xbe\xef";
write(sockfd,buf,4);
close(sockfd);//5
}
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
veek | 50.00 | 0 | 2021-02-05 11:11:29 | 感谢分享~ |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.