From b1998051bdefe45ea76f8a19a07eaa5d410ddd90 Mon Sep 17 00:00:00 2001 From: kento <37926134+kkent030315@users.noreply.github.com> Date: Thu, 24 Jun 2021 05:12:03 +0900 Subject: [PATCH] [REFACT] Free memory with `MEM_RELEASE` instead of `MEM_DECOMMIT` --- main.cpp | 2 +- util.cpp | 4 ++-- util.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/main.cpp b/main.cpp index 4b7fa3c..34852c5 100644 --- a/main.cpp +++ b/main.cpp @@ -158,7 +158,7 @@ int wmain(int argc, wchar_t *argv[]) bool is_ok = transacted_hollowing(targetPath, payladBuf, (DWORD) payloadSize); - free_buffer(payladBuf, payloadSize); + free_buffer(payladBuf); if (is_ok) { std::cerr << "[+] Done!" << std::endl; } else { diff --git a/util.cpp b/util.cpp index 8004434..f1e3bc4 100644 --- a/util.cpp +++ b/util.cpp @@ -40,10 +40,10 @@ BYTE *buffer_payload(wchar_t *filename, OUT size_t &r_size) return localCopyAddress; } -void free_buffer(BYTE* buffer, size_t buffer_size) +void free_buffer(BYTE* buffer) { if (buffer == NULL) return; - VirtualFree(buffer, buffer_size, MEM_DECOMMIT); + VirtualFree(buffer, 0, MEM_RELEASE); } wchar_t* get_file_name(wchar_t *full_path) diff --git a/util.h b/util.h index 512e7bc..2843147 100644 --- a/util.h +++ b/util.h @@ -3,7 +3,7 @@ #include BYTE *buffer_payload(wchar_t *filename, OUT size_t &r_size); -void free_buffer(BYTE* buffer, size_t buffer_size); +void free_buffer(BYTE* buffer); //get file name from the full path wchar_t* get_file_name(wchar_t *full_path);