From a6aa7c23fce62898c0a09686ebd1879e53656937 Mon Sep 17 00:00:00 2001 From: SlynxCZ Date: Mon, 12 Jan 2026 21:03:08 +0400 Subject: [PATCH] prepare KHook --- .gitmodules | 3 +++ CMakeLists.txt | 33 +-------------------------------- makefiles/linux.base.cmake | 3 +-- makefiles/shared.cmake | 2 +- makefiles/windows.base.cmake | 3 +-- vendor/khook | 1 + 6 files changed, 8 insertions(+), 37 deletions(-) create mode 160000 vendor/khook diff --git a/.gitmodules b/.gitmodules index c89da43..38de16d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "vendor/spdlog"] path = vendor/spdlog url = https://github.com/gabime/spdlog +[submodule "vendor/khook"] + path = vendor/khook + url = https://github.com/SlynxCZ/KHook.git diff --git a/CMakeLists.txt b/CMakeLists.txt index b252a22..d447a71 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,6 @@ project(RayTrace C CXX ASM) set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") -set(FUNCHOOK_BUILD_TESTS OFF CACHE BOOL "Disable building tests for funchook." FORCE) set(FMT_WERROR OFF CACHE BOOL "" FORCE) if(DEFINED ENV{HL2SDKCS2}) @@ -27,7 +26,7 @@ include(makefiles/shared.cmake) include(makefiles/protobuf.cmake) add_subdirectory(vendor/spdlog) -add_subdirectory(vendor/funchook) +add_subdirectory(vendor/khook) file(GLOB_RECURSE SOURCE_FILES src/*.cpp @@ -52,10 +51,6 @@ list(APPEND SOURCE_FILES vendor/dynlibutils/module.h ) -foreach(f ${SOURCE_FILES}) - message(STATUS "Zdrojový soubor: ${f}") -endforeach() - add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES}) target_compile_definitions(${PROJECT_NAME} PUBLIC PROJECT_NAMESPACE=${PROJECT_NAME} @@ -64,7 +59,6 @@ target_compile_definitions(${PROJECT_NAME} target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src - ${CMAKE_CURRENT_SOURCE_DIR}/src/cs2_sdk ) find_package(Git QUIET) @@ -80,31 +74,6 @@ else() set(GIT_SHA "nogit") endif() -string(TIMESTAMP BUILD_TIME_UTC "%Y%m%d%H%M%S" UTC) -set(_seed_input "${GIT_SHA}-${BUILD_TIME_UTC}") -string(SHA1 _sha1 "${_seed_input}") -string(SUBSTRING ${_sha1} 0 16 _seed16) -set(BUILD_SEED_HEX "0x${_seed16}") -message(STATUS "Obfuscation BUILD_SEED: ${BUILD_SEED_HEX} (from ${_seed_input})") -add_compile_definitions(BUILD_SEED=${BUILD_SEED_HEX}) - -if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") - target_compile_options(${PROJECT_NAME} PRIVATE -fvisibility=hidden -fdata-sections -ffunction-sections) - target_link_options(${PROJECT_NAME} PRIVATE -Wl,--gc-sections) -endif() - -set_target_properties(${PROJECT_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION OFF) - -if (CMAKE_BUILD_TYPE STREQUAL "Release") - find_program(STRIP_EXECUTABLE strip) - if (STRIP_EXECUTABLE) - add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD - COMMAND ${STRIP_EXECUTABLE} --strip-unneeded $ - COMMENT "Stripping symbols from $" - ) - endif() -endif() - if (LINUX) include(${CMAKE_SOURCE_DIR}/makefiles/linux.base.cmake) set_target_properties(${PROJECT_NAME} PROPERTIES diff --git a/makefiles/linux.base.cmake b/makefiles/linux.base.cmake index 5451c3a..61c8f39 100644 --- a/makefiles/linux.base.cmake +++ b/makefiles/linux.base.cmake @@ -33,6 +33,5 @@ set(LINK_LIBRARIES ${SOURCESDK_LIB}/linux64/mathlib.a spdlog Protobufs - distorm - funchook-static + khook_lib ) diff --git a/makefiles/shared.cmake b/makefiles/shared.cmake index 4a88945..47397e6 100644 --- a/makefiles/shared.cmake +++ b/makefiles/shared.cmake @@ -60,7 +60,7 @@ include_directories( ${SOURCESDK}/public/schemasystem ${METAMOD_DIR}/core ${METAMOD_DIR}/core/sourcehook - vendor/funchook/include + vendor/khook/include vendor/spdlog/include vendor/nlohmann vendor diff --git a/makefiles/windows.base.cmake b/makefiles/windows.base.cmake index bf443c0..2218e84 100644 --- a/makefiles/windows.base.cmake +++ b/makefiles/windows.base.cmake @@ -15,6 +15,5 @@ set(LINK_LIBRARIES ${SOURCESDK_LIB}/public/win64/mathlib.lib spdlog Protobufs - distorm - funchook-static + khook_lib ) \ No newline at end of file diff --git a/vendor/khook b/vendor/khook new file mode 160000 index 0000000..776fdb2 --- /dev/null +++ b/vendor/khook @@ -0,0 +1 @@ +Subproject commit 776fdb2eb8553462f2c1ab3df2d2d2a59724b3f2