From 6342ea76413054337f226e115ee1e31e650c9cb8 Mon Sep 17 00:00:00 2001 From: alpine Date: Sat, 27 Jun 2020 02:17:50 +0200 Subject: Finished pe image implementation wrapper. Moved some files to more appropriate folders. Added linuxpe submodule. Added linuxpe as a precompiled header. --- server/src/main.cpp | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) (limited to 'server/src/main.cpp') diff --git a/server/src/main.cpp b/server/src/main.cpp index b4cb3cb..7b96ff3 100644 --- a/server/src/main.cpp +++ b/server/src/main.cpp @@ -2,17 +2,27 @@ #include "util/io.h" #include "util/commands.h" #include "server/server.h" +#include "image/pe.h" constexpr std::string_view client_version{"0.1.0"}; int main(int argc, char* argv[]) { io::init(false); - tcp::server server("6666"); + pe::image test("out"); - server.start(); + for(auto&[mod, imports] : test.imports()) { + io::logger->info(mod); + for(auto &i : imports) { + io::logger->info(" {}->{:x}", i.name, i.rva); + } + } + + tcp::server client_server("6666"); + + client_server.start(); - server.connect_event.add([&](tcp::client& client) { + client_server.connect_event.add([&](tcp::client& client) { auto ip = client.get_ip(); client.gen_session(); client.write(tcp::packet_t(client_version, @@ -21,19 +31,19 @@ int main(int argc, char* argv[]) { io::logger->info("{} connected", ip); }); - server.disconnect_event.add([&](tcp::client& client) { - auto it = std::find_if(server.client_stack.begin(), - server.client_stack.end(), [&](tcp::client& c) { + client_server.disconnect_event.add([&](tcp::client& client) { + auto it = std::find_if(client_server.client_stack.begin(), + client_server.client_stack.end(), [&](tcp::client& c) { return client.get_socket() == client.get_socket(); }); - server.client_stack.erase(it); + client_server.client_stack.erase(it); client.cleanup(); io::logger->info("{} disconnected", client.get_ip()); }); - server.receive_event.add([&](tcp::packet_t& packet, tcp::client& client) { + client_server.receive_event.add([&](tcp::packet_t& packet, tcp::client& client) { auto session = client.get_session(); auto packet_session = packet.session_id; auto ip = client.get_ip(); @@ -68,6 +78,6 @@ int main(int argc, char* argv[]) { }); - std::thread t{tcp::server::monitor, std::ref(server)}; + std::thread t{tcp::server::monitor, std::ref(client_server)}; t.join(); } -- cgit v1.2.3