From 23e05ca9460030e7237f7538b79a2a1904bfff75 Mon Sep 17 00:00:00 2001 From: dledda-r7 Date: Thu, 6 Aug 2026 15:32:19 +0200 Subject: [PATCH] feat: disable mingw useless exports --- c/meterpreter/Makefile | 2 +- c/meterpreter/workspace/metsrv/CMakeLists.txt | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/c/meterpreter/Makefile b/c/meterpreter/Makefile index 446c0c313..300fdc0c2 100644 --- a/c/meterpreter/Makefile +++ b/c/meterpreter/Makefile @@ -1,6 +1,6 @@ ID := $(shell id -u) DOCKER_CONTAINER=rapid7/msf-ubuntu-x64-meterpreter:latest -COMMON_GEN=-Wno-dev -DUSE_STATIC_MSVC_RUNTIMES=ON +COMMON_GEN=-Wno-dev -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--strip-all,--build-id=none,--no-insert-timestamp,--exclude-all-symbols" -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--strip-all,--build-id=none,--no-insert-timestamp,--exclude-all-symbols" -DUSE_STATIC_MSVC_RUNTIMES=ON COMMON_GEN_X86=-DCMAKE_TOOLCHAIN_FILE=../toolsets/i686-w64-mingw32.cmake -DBUILD_ARCH=Win32 ${COMMON_GEN} COMMON_GEN_X64=-DCMAKE_TOOLCHAIN_FILE=../toolsets/x86_64-w64-mingw32.cmake -DBUILD_ARCH=x64 ${COMMON_GEN} COMMON_BUILD=--config Release diff --git a/c/meterpreter/workspace/metsrv/CMakeLists.txt b/c/meterpreter/workspace/metsrv/CMakeLists.txt index 7757103fe..da849187d 100644 --- a/c/meterpreter/workspace/metsrv/CMakeLists.txt +++ b/c/meterpreter/workspace/metsrv/CMakeLists.txt @@ -34,6 +34,10 @@ set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}.${T if(MSVC) set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/DEF:\"${MOD_DEF_DIR}/metsrv.def\"") set_source_files_properties(${MOD_DEF_DIR}/metsrv.def PROPERTIES HEADER_FILE_ONLY TRUE) +else() + # Prevent MinGW from auto-exporting symbols. + # With metsrv.def present this yields a single explicit export; without it, zero exports. + target_link_options(${PROJECT_NAME} PRIVATE "-Wl,--exclude-all-symbols") endif() set(LINK_LIBS advapi32 winhttp wininet crypt32)