update build to match dir structure
This commit is contained in:
parent
ae85701371
commit
3824443f0e
@ -6,6 +6,8 @@ project(
|
|||||||
LANGUAGES CXX
|
LANGUAGES CXX
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
if(NOT CMAKE_SYSTEM_NAME MATCHES Windows)
|
if(NOT CMAKE_SYSTEM_NAME MATCHES Windows)
|
||||||
message(FATAL_ERROR "Use a cross compilation suitable toolchain with CMAKE_SYSTEM_NAME set to Windows")
|
message(FATAL_ERROR "Use a cross compilation suitable toolchain with CMAKE_SYSTEM_NAME set to Windows")
|
||||||
endif()
|
endif()
|
||||||
@ -34,17 +36,23 @@ else()
|
|||||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /INCREMENTAL:NO /OPT:REF /OPT:ICF /PDBSTRIPPED")
|
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /INCREMENTAL:NO /OPT:REF /OPT:ICF /PDBSTRIPPED")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# *) Shared modules
|
||||||
|
add_library(shared STATIC shared/crypto.cpp shared/crypto.hpp shared/futils.cpp shared/futils.hpp)
|
||||||
|
|
||||||
# *) Reflective loader (DLL)
|
# *) Reflective loader (DLL)
|
||||||
add_library(loader SHARED reflective_loader/loader.cpp reflective_loader/loader.hpp)
|
add_library(loader SHARED reflective_loader/loader.cpp reflective_loader/loader.hpp)
|
||||||
|
target_link_libraries(loader PRIVATE shared)
|
||||||
|
|
||||||
# *) Payload (DLL)
|
# *) Payload (DLL)
|
||||||
add_library(payload SHARED payload/payload.cpp)
|
add_library(payload SHARED payload/payload.cpp)
|
||||||
|
|
||||||
# *) Shellcode generator (EXE)
|
# *) Shellcode generator (EXE)
|
||||||
add_executable(generator generator/generator.cpp generator/generator.hpp)
|
add_executable(generator generator/generator.cpp generator/generator.hpp)
|
||||||
|
target_link_libraries(generator PRIVATE shared)
|
||||||
|
|
||||||
# *) Injector (EXE)
|
# *) Injector (EXE)
|
||||||
add_executable(injector injector/injector.cpp)
|
add_executable(injector injector/injector.cpp)
|
||||||
|
target_link_libraries(injector PRIVATE shared)
|
||||||
|
|
||||||
if(NOT MSVC)
|
if(NOT MSVC)
|
||||||
foreach(target loader payload generator injector)
|
foreach(target loader payload generator injector)
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
|
||||||
#ifdef BUILD_DLL
|
#ifdef BUILD_DLL
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <winternl.h>
|
#include <winternl.h>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
#include <random>
|
||||||
|
|
||||||
constexpr auto MAX_IMPORT_DELAY_MS = 6 * 1000;
|
constexpr auto MAX_IMPORT_DELAY_MS = 6 * 1000;
|
||||||
constexpr auto OBFUSCATE_IMPORTS = 1;
|
constexpr auto OBFUSCATE_IMPORTS = 1;
|
||||||
|
@ -17,7 +17,7 @@ std::vector<BYTE> GenerateKey(size_t keysize)
|
|||||||
|
|
||||||
void XorCipher(std::vector<BYTE> &data, const std::vector<BYTE> &key)
|
void XorCipher(std::vector<BYTE> &data, const std::vector<BYTE> &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()];
|
data[i] = data[i] ^ key[i % key.size()];
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user