From 3824443f0e11a6b79cf5ffd957e65d3292e81da8 Mon Sep 17 00:00:00 2001 From: 17ms <79069176+17ms@users.noreply.github.com> Date: Fri, 5 Jan 2024 21:48:20 +0200 Subject: [PATCH] update build to match dir structure --- CMakeLists.txt | 8 ++++++++ payload/payload.cpp | 2 ++ reflective_loader/loader.hpp | 1 + shared/crypto.cpp | 2 +- 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 453db44..ed0948a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,8 @@ project( LANGUAGES CXX ) +set(CMAKE_CXX_STANDARD 17) + if(NOT CMAKE_SYSTEM_NAME MATCHES Windows) message(FATAL_ERROR "Use a cross compilation suitable toolchain with CMAKE_SYSTEM_NAME set to Windows") endif() @@ -34,17 +36,23 @@ else() set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /INCREMENTAL:NO /OPT:REF /OPT:ICF /PDBSTRIPPED") endif() +# *) Shared modules +add_library(shared STATIC shared/crypto.cpp shared/crypto.hpp shared/futils.cpp shared/futils.hpp) + # *) Reflective loader (DLL) add_library(loader SHARED reflective_loader/loader.cpp reflective_loader/loader.hpp) +target_link_libraries(loader PRIVATE shared) # *) Payload (DLL) add_library(payload SHARED payload/payload.cpp) # *) Shellcode generator (EXE) add_executable(generator generator/generator.cpp generator/generator.hpp) +target_link_libraries(generator PRIVATE shared) # *) Injector (EXE) add_executable(injector injector/injector.cpp) +target_link_libraries(injector PRIVATE shared) if(NOT MSVC) foreach(target loader payload generator injector) diff --git a/payload/payload.cpp b/payload/payload.cpp index 2cca76f..e09df39 100644 --- a/payload/payload.cpp +++ b/payload/payload.cpp @@ -1,3 +1,5 @@ +#pragma GCC diagnostic ignored "-Wunused-parameter" + #include #ifdef BUILD_DLL diff --git a/reflective_loader/loader.hpp b/reflective_loader/loader.hpp index c7191d0..01debff 100644 --- a/reflective_loader/loader.hpp +++ b/reflective_loader/loader.hpp @@ -3,6 +3,7 @@ #include #include #include +#include constexpr auto MAX_IMPORT_DELAY_MS = 6 * 1000; constexpr auto OBFUSCATE_IMPORTS = 1; diff --git a/shared/crypto.cpp b/shared/crypto.cpp index 8ca698b..0d15d49 100644 --- a/shared/crypto.cpp +++ b/shared/crypto.cpp @@ -17,7 +17,7 @@ std::vector GenerateKey(size_t keysize) void XorCipher(std::vector &data, const std::vector &key) { - for (auto i = 0; i < data.size(); i++) + for (size_t i = 0; i < data.size(); i++) { data[i] = data[i] ^ key[i % key.size()]; }