11# disable C4711, C5045, C4820 (caused by lz4)
2- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4711 /wd5045 /wd4820" )
3-
4- CPMAddPackage(
5- NAME xorstr
6- GITHUB_REPOSITORY JustasMasiulis/xorstr
7- GIT_TAG master
8- DOWNLOAD_ONLY True
9- )
10-
11- if (xorstr_ADDED)
12- add_library (xorstr INTERFACE )
13- target_include_directories (xorstr INTERFACE ${xorstr_SOURCE_DIR} /include )
14- endif ()
15-
16- CPMAddPackage(
17- NAME lazy_importer
18- GITHUB_REPOSITORY JustasMasiulis/lazy_importer
19- GIT_TAG master
20- DOWNLOAD_ONLY True
21- )
22-
23- if (lazy_importer_ADDED)
24- add_library (lazy_importer INTERFACE )
25- target_include_directories (lazy_importer INTERFACE ${lazy_importer_SOURCE_DIR} /include )
2+ if (MSVC )
3+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4711 /wd5045 /wd4820" )
264endif ()
275
286CPMAddPackage(
297 NAME lz4
308 GITHUB_REPOSITORY lz4/lz4
31- VERSION 1.9.4
9+ VERSION 1.10.0
3210 SOURCE_SUBDIR build /cmake
3311 OPTIONS
3412 "LZ4_BUILD_CLI OFF"
3513 "LZ4_BUILD_LEGACY_LZ4C OFF"
3614)
3715find_package (lz4 REQUIRED)
3816
39- CPMAddPackage("gh:SergiusTheBest/FindWDK#master" )
40- list (APPEND CMAKE_MODULE_PATH "${FindWDK_SOURCE_DIR} /cmake" )
41- find_package (WDK REQUIRED)
17+ CPMAddPackage("gh:dumbasPL/linux-pe#master" )
18+ find_package (linux-pe REQUIRED)
19+
20+ if (CMAKE_SYSTEM_NAME STREQUAL "Windows" )
21+ CPMAddPackage(
22+ NAME xorstr
23+ GITHUB_REPOSITORY JustasMasiulis/xorstr
24+ GIT_TAG master
25+ DOWNLOAD_ONLY True
26+ )
27+
28+ if (xorstr_ADDED)
29+ add_library (xorstr INTERFACE )
30+ target_include_directories (xorstr INTERFACE ${xorstr_SOURCE_DIR} /include )
31+ endif ()
32+
33+ CPMAddPackage(
34+ NAME lazy_importer
35+ GITHUB_REPOSITORY JustasMasiulis/lazy_importer
36+ GIT_TAG master
37+ DOWNLOAD_ONLY True
38+ )
4239
43- CPMAddPackage(
"gh:dumbasPL/[email protected] " )
40+ if (lazy_importer_ADDED)
41+ add_library (lazy_importer INTERFACE )
42+ target_include_directories (lazy_importer INTERFACE ${lazy_importer_SOURCE_DIR} /include )
43+ endif ()
4444
45- if (FUMO_DEBUG)
46- add_compile_definitions (FUMO_DEBUG)
45+ CPMAddPackage("gh:SergiusTheBest/FindWDK#master" )
46+ list (APPEND CMAKE_MODULE_PATH "${FindWDK_SOURCE_DIR} /cmake" )
47+ find_package (WDK REQUIRED)
48+
49+ CPMAddPackage(
"gh:dumbasPL/[email protected] " )
50+
51+ add_subdirectory (driver)
52+ add_subdirectory (driver_interface)
53+ add_subdirectory (resource_generator)
54+ add_subdirectory (stage1)
55+ add_subdirectory (stage2)
56+ add_subdirectory (initial_loader)
57+ add_subdirectory (shellcode_extractor)
4758endif ()
4859
49- add_subdirectory (driver)
50- add_subdirectory (driver_interface)
51- add_subdirectory (resource_generator)
52- add_subdirectory (stage1)
53- add_subdirectory (stage2)
54- add_subdirectory (initial_loader)
55- add_subdirectory (shellcode_extractor)
5660add_subdirectory (fumo_generator)
5761add_subdirectory (encoder)
5862
59- add_custom_command (
60- COMMENT "building final executable"
61- DEPENDS fumo_generator initial_loader stage1
62- $<TARGET_PROPERTY:initial_loader,RUNTIME_OUTPUT_DIRECTORY >/initial_loader.bin
63- $<TARGET_FILE:stage1>
64- COMMAND fumo_generator ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /${CMAKE_CFG_INTDIR} /fumo.exe
65- $<TARGET_PROPERTY:initial_loader,RUNTIME_OUTPUT_DIRECTORY >/initial_loader.bin
66- $<TARGET_FILE:stage1>
67- OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /${CMAKE_CFG_INTDIR} /fumo.exe
68- )
63+ if (CMAKE_SYSTEM_NAME STREQUAL "Windows" )
64+ add_custom_command (
65+ COMMENT "building final executable"
66+ DEPENDS fumo_generator initial_loader stage1
67+ $<TARGET_PROPERTY:initial_loader,RUNTIME_OUTPUT_DIRECTORY >/initial_loader.bin
68+ $<TARGET_FILE:stage1>
69+ COMMAND fumo_generator ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /${CMAKE_CFG_INTDIR} /fumo.exe
70+ $<TARGET_PROPERTY:initial_loader,RUNTIME_OUTPUT_DIRECTORY >/initial_loader.bin
71+ $<TARGET_FILE:stage1>
72+ OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /${CMAKE_CFG_INTDIR} /fumo.exe
73+ )
6974
70- add_custom_target (
71- fumo ALL
72- DEPENDS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /${CMAKE_CFG_INTDIR} /fumo.exe
73- )
75+ add_custom_target (
76+ fumo ALL
77+ DEPENDS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /${CMAKE_CFG_INTDIR} /fumo.exe
78+ )
79+ endif ()
0 commit comments