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);