From 1a76acd1e7de744783628086dcce629eadf706c2 Mon Sep 17 00:00:00 2001 From: devseed Date: Tue, 9 Apr 2024 03:46:36 +0900 Subject: [PATCH] change some api type from size_t to int --- project/windll_winhook/Makefile | 2 +- project/windll_winhook/libwinhook.vcxproj | 8 ++++---- project/windll_winhook/libwinhook_test.vcxproj | 8 ++++---- project/windll_winpe/Makefile | 2 +- project/windll_winpe/libwinpe.vcxproj | 8 ++++---- project/windll_winpe/libwinpe_test.vcxproj | 8 ++++---- project/winexe_winloader/winloader.vcxproj | 10 +++++----- src/commdef.h | 12 ++++++------ src/winhook.h | 8 ++++---- src/winpe.h | 11 +++++------ 10 files changed, 38 insertions(+), 39 deletions(-) diff --git a/project/windll_winhook/Makefile b/project/windll_winhook/Makefile index 3d5666a..c3560d5 100644 --- a/project/windll_winhook/Makefile +++ b/project/windll_winhook/Makefile @@ -35,7 +35,7 @@ LDFLAGS= # tcc can not remove at at stdcall in i686 else endif -all: prepare libwinhook +all: prepare libwinhook libwinhook_test helloexe hellodll clean: @rm -rf $(BUILD_DIR)/*libwinhook* diff --git a/project/windll_winhook/libwinhook.vcxproj b/project/windll_winhook/libwinhook.vcxproj index 932226b..56a3d47 100644 --- a/project/windll_winhook/libwinhook.vcxproj +++ b/project/windll_winhook/libwinhook.vcxproj @@ -72,22 +72,22 @@ $(SolutionDir)\build - $(SolutionDir)\build\obj\debug\i686 + $(SolutionDir)\build\obj\$(ProjectName)32d $(ProjectName)32d $(SolutionDir)\build - $(SolutionDir)\build\obj\release\i686 + $(SolutionDir)\build\obj\$(ProjectName)32 $(ProjectName)32 $(SolutionDir)\build - $(SolutionDir)\build\obj\debug\x86_64 + $(SolutionDir)\build\obj\$(ProjectName)64d $(ProjectName)64d $(SolutionDir)\build - $(SolutionDir)\build\obj\release\x86_64 + $(SolutionDir)\build\obj\$(ProjectName)64 $(ProjectName)64 diff --git a/project/windll_winhook/libwinhook_test.vcxproj b/project/windll_winhook/libwinhook_test.vcxproj index 05d5435..68cc5be 100644 --- a/project/windll_winhook/libwinhook_test.vcxproj +++ b/project/windll_winhook/libwinhook_test.vcxproj @@ -72,24 +72,24 @@ false - $(SolutionDir)\build\obj\debug\i686 + $(SolutionDir)\build\obj\$(ProjectName)32d $(ProjectName)32d $(SolutionDir)\build false $(SolutionDir)\build - $(SolutionDir)\build\obj\debug\x86_64 + $(SolutionDir)\build\obj\$(ProjectName)64d $(ProjectName)64d $(SolutionDir)\build - $(SolutionDir)\build\obj\release\i686 + $(SolutionDir)\build\obj\$(ProjectName)32 $(ProjectName)32 $(SolutionDir)\build\ - $(SolutionDir)\build\obj\release\x86_64 + $(SolutionDir)\build\obj\$(ProjectName)64 $(ProjectName)64 diff --git a/project/windll_winpe/Makefile b/project/windll_winpe/Makefile index 30c0b27..43c0664 100644 --- a/project/windll_winpe/Makefile +++ b/project/windll_winpe/Makefile @@ -35,7 +35,7 @@ LDFLAGS= # tcc can not remove at at stdcall in i686 else endif -all: prepare libwinpe +all: prepare libwinpe libwinpe_test clean: @rm -rf $(BUILD_DIR)/*libwinpe* diff --git a/project/windll_winpe/libwinpe.vcxproj b/project/windll_winpe/libwinpe.vcxproj index 1302910..d4a5515 100644 --- a/project/windll_winpe/libwinpe.vcxproj +++ b/project/windll_winpe/libwinpe.vcxproj @@ -72,22 +72,22 @@ $(SolutionDir)\build - $(SolutionDir)\build\obj\debug\i686 + $(SolutionDir)\build\$(ProjectName)32d $(ProjectName)32d $(SolutionDir)\build - $(SolutionDir)\build\obj\release\i686 + $(SolutionDir)\build\obj\$(ProjectName)32 $(ProjectName)32 $(SolutionDir)\build - $(SolutionDir)\build\obj\debug\x86_64 + $(SolutionDir)\build\obj\$(ProjectName)64d $(ProjectName)64d $(SolutionDir)\build - $(SolutionDir)\build\obj\release\x86_64 + $(SolutionDir)\build\obj\$(ProjectName)64 $(ProjectName)64 diff --git a/project/windll_winpe/libwinpe_test.vcxproj b/project/windll_winpe/libwinpe_test.vcxproj index ff03a64..7ed2180 100644 --- a/project/windll_winpe/libwinpe_test.vcxproj +++ b/project/windll_winpe/libwinpe_test.vcxproj @@ -76,22 +76,22 @@ $(ProjectName)32 $(SolutionDir)\build - $(SolutionDir)\build\obj\release\i686 + $(SolutionDir)\build\obj\$(ProjectName)32 $(ProjectName)64 $(SolutionDir)\build - $(SolutionDir)\build\release\x86_64 + $(SolutionDir)\build\obj\$(ProjectName)64 $(ProjectName)64d $(SolutionDir)\build - $(SolutionDir)\build\debug\x86_64 + $(SolutionDir)\build\obj\$(ProjectName)64d $(ProjectName)32d $(SolutionDir)\build - $(SolutionDir)\build\release\debug\i686 + $(SolutionDir)\build\obj\$(ProjectName)32d diff --git a/project/winexe_winloader/winloader.vcxproj b/project/winexe_winloader/winloader.vcxproj index 4ae9207..f489ed3 100644 --- a/project/winexe_winloader/winloader.vcxproj +++ b/project/winexe_winloader/winloader.vcxproj @@ -72,24 +72,24 @@ false - $(SolutionDir)\build\obj\debug\i686 + $(SolutionDir)\build\obj\$(ProjectName)32d $(ProjectName)32d $(SolutionDir)\build false $(SolutionDir)\build - $(SolutionDir)\build\obj\debug\x86_64 + $(SolutionDir)\build\obj\$(ProjectName)64d $(ProjectName)64d $(SolutionDir)\build - $(SolutionDir)\build\obj\release\i686 + $(SolutionDir)\build\obj\$(ProjectName)32 $(ProjectName)32 - $(SolutionDir)\build\ - $(SolutionDir)\build\obj\release\x86_64 + $(SolutionDir)\build + $(SolutionDir)\build\obj\$(ProjectName)64 $(ProjectName)64 diff --git a/src/commdef.h b/src/commdef.h index 64e7ac0..f61d034 100644 --- a/src/commdef.h +++ b/src/commdef.h @@ -69,17 +69,17 @@ wprintf(format, ##__VA_ARGS__); #define DummyPrintf(format, ...) #define LOG(format, ...) LogTagPrintf(format, "I", ##__VA_ARGS__) -#define LOGL(format, ...) LogTagWprintf(format, L"I", ##__VA_ARGS__) +#define LOGL(format, ...) LogTagWprintf(format, "I", ##__VA_ARGS__) #define LOGe(format, ...) LogTagPrintf(format, "E", ##__VA_ARGS__) -#define LOGLe(format, ...) LogTagWprintf(format, L"E", ##__VA_ARGS__) +#define LOGLe(format, ...) LogTagWprintf(format, "E", ##__VA_ARGS__) #define LOGw(format, ...) LogTagPrintf(format, "W", ##__VA_ARGS__) -#define LOGLw(format, ...) LogTagWprintf(format, L"W", ##__VA_ARGS__) +#define LOGLw(format, ...) LogTagWprintf(format, "W", ##__VA_ARGS__) #define LOGi(format, ...) LogTagPrintf(format, "I", ##__VA_ARGS__) -#define LOGLi(format, ...) LogTagWprintf(format, L"I", ##__VA_ARGS__) +#define LOGLi(format, ...) LogTagWprintf(format, "I", ##__VA_ARGS__) #define LOGd(format, ...) LogTagPrintf(format, "D", ##__VA_ARGS__) -#define LOGLd(format, ...) LogTagWprintf(format, L"D", ##__VA_ARGS__) +#define LOGLd(format, ...) LogTagWprintf(format, "D", ##__VA_ARGS__) #define LOGv(format, ...) LogTagPrintf(format, "V", ##__VA_ARGS__) -#define LOGLv(format, ...) LogTagWprintf(format, L"V", ##__VA_ARGS__) +#define LOGLv(format, ...) LogTagWprintf(format, "V", ##__VA_ARGS__) #endif // LOG_LEVEL_ #ifndef LOG_LEVEL #define LOG_LEVEL LOG_LEVEL_INFO diff --git a/src/winhook.h b/src/winhook.h index c9fd6eb..a31f5a4 100644 --- a/src/winhook.h +++ b/src/winhook.h @@ -206,10 +206,10 @@ BOOL winhook_iathook(LPCSTR targetDllName, PROC pfnOrg, PROC pfgNew) * @return: success hook numbers */ WINHOOK_API -int winhook_inlinehooks(PVOID pfnTargets[], PVOID pfnNews[], PVOID pfnOlds[], size_t n); +int winhook_inlinehooks(PVOID pfnTargets[], PVOID pfnNews[], PVOID pfnOlds[], int n); WINHOOK_API -int winhook_inlineunhooks(PVOID pfnTargets[], PVOID pfnNews[], PVOID pfnOlds[], size_t n); +int winhook_inlineunhooks(PVOID pfnTargets[], PVOID pfnNews[], PVOID pfnOlds[], int n); #ifdef WINHOOK_IMPLEMENTATION #include @@ -700,7 +700,7 @@ BOOL winhook_iathookpe(LPCSTR targetDllName, void* mempe, PROC pfnOrg, PROC pfnN #include "stb_minhook.h" #endif -int winhook_inlinehooks(PVOID pfnTargets[], PVOID pfnNews[], PVOID pfnOlds[], size_t n) +int winhook_inlinehooks(PVOID pfnTargets[], PVOID pfnNews[], PVOID pfnOlds[], int n) { int i; MH_Initialize(); @@ -716,7 +716,7 @@ int winhook_inlinehooks(PVOID pfnTargets[], PVOID pfnNews[], PVOID pfnOlds[], si return i; } -int winhook_inlineunhooks(PVOID pfnTargets[], PVOID pfnNews[], PVOID pfnOlds[], size_t n) +int winhook_inlineunhooks(PVOID pfnTargets[], PVOID pfnNews[], PVOID pfnOlds[], int n) { int i; for(i=0; i +#include #include #include -#ifdef _DEBUG -#include -#else -#define assert(x) -#endif - // PE high order fnctions void* STDCALL winpe_memload_file(const char *path, size_t *pmemsize, bool_t same_align) { @@ -390,7 +385,9 @@ void* STDCALL winpe_memLoadLibraryEx(void *mempe, size_t imagebase, DWORD flag, PFN_VirtualQuery pfnVirtualQuery = (PFN_VirtualQuery)pfnGetProcAddress(hmod_kernel32, name_VirtualQuery); PFN_VirtualAlloc pfnVirtualAlloc = (PFN_VirtualAlloc)pfnGetProcAddress(hmod_kernel32, name_VirtualAlloc); PFN_VirtualProtect pfnVirtualProtect =(PFN_VirtualProtect)pfnGetProcAddress(hmod_kernel32, name_VirtualProtect); +#ifdef _DEBUG assert(pfnVirtualQuery!=0 && pfnVirtualAlloc!=0 && pfnVirtualProtect!=0); +#endif // find proper imagebase size_t imagesize = winpe_imagesizeval(mempe, 0); @@ -787,7 +784,9 @@ size_t STDCALL winpe_membindiat(void *mempe, funcva = (size_t)pfnGetProcAddress((HMODULE)dllbase, funcname); if(!funcva) continue; pFtThunk[j].u1.Function = funcva; +#ifdef _DEBUG assert(funcva == (size_t)GetProcAddress((HMODULE)dllbase, funcname)); +#endif iat_count++; } }