From c455885c35c066ca9eaf3f34a020f97f23cadc2e Mon Sep 17 00:00:00 2001 From: Jezura777 Date: Sun, 6 Apr 2025 22:29:54 +0200 Subject: [PATCH] first commit --- a.out | Bin 0 -> 16016 bytes dump.bin | Bin 0 -> 21 bytes main.c | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 100 insertions(+) create mode 100755 a.out create mode 100644 dump.bin create mode 100644 main.c diff --git a/a.out b/a.out new file mode 100755 index 0000000000000000000000000000000000000000..97ef1084b52fa9576fd8b343414bcb55624476f8 GIT binary patch literal 16016 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 literal 0 HcmV?d00001 diff --git a/dump.bin b/dump.bin new file mode 100644 index 0000000000000000000000000000000000000000..8340671c1a24d072abeb9fd97d6493a52ba4bc24 GIT binary patch literal 21 ZcmZQ#;AHS(NM)#EC}k*ONMtYvK>#0+10nzb literal 0 HcmV?d00001 diff --git a/main.c b/main.c new file mode 100644 index 0000000..2c986c5 --- /dev/null +++ b/main.c @@ -0,0 +1,100 @@ +#include +#include +#include +#include +#include +#include +#include + +#define PORT 8080 +#define BUFFER_SIZE 1024 + +enum PacketTypeClient { + + LOGIN = 0x02 + +}; + +enum PacketTypeServer { + + LOGIN_OK = 0x00 +}; + +struct Packet { + uint8_t type; + union { + struct { + uint16_t padd1; + uint8_t padd2; + wchar_t name[256]; + }; + }; +}; + +int main() { + int server_fd, new_socket; + struct sockaddr_in address; + int opt = 1; + int addrlen = sizeof(address); + char buffer[BUFFER_SIZE]; + + // Create socket file descriptor + if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) { + perror("socket failed"); + exit(EXIT_FAILURE); + } + + // Attach socket to the port + if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt))) { + perror("setsockopt"); + exit(EXIT_FAILURE); + } + + address.sin_family = AF_INET; + address.sin_addr.s_addr = INADDR_ANY; + address.sin_port = htons(PORT); + + // Bind the socket to the address + if (bind(server_fd, (struct sockaddr *)&address, sizeof(address)) < 0) { + perror("bind failed"); + exit(EXIT_FAILURE); + } + + // Start listening for connections + if (listen(server_fd, 3) < 0) { + perror("listen"); + exit(EXIT_FAILURE); + } + +// printf("Server listening on port %d\n", PORT); + + while (1) { + // Accept a new connection + if ((new_socket = accept(server_fd, (struct sockaddr *)&address, (socklen_t*)&addrlen)) < 0) { + perror("accept"); + exit(EXIT_FAILURE); + } + + // Read data from the socket + ssize_t bytes_read; + struct Packet *p; + // while ((bytes_read = read(new_socket, buffer, BUFFER_SIZE)) > 0) { + while (1) { + bytes_read = read(new_socket, buffer, BUFFER_SIZE); + p = (struct Packet *)&buffer; + printf("type: %x; padd: %x %x", p->type, p->padd1, p->padd2); + fputws(p->name, stdout); + // Print the raw bytes to stdout + //fwrite(buffer, 1, bytes_read, stdout); + fflush(stdout); // Ensure the output is flushed immediately + } + + // Close the socket after reading + close(new_socket); + } + + // Close the server socket (this line will never be reached in this example) + close(server_fd); + return 0; +} +