From 584b3b0d449b59a81f4c199d9586a787d54e45df Mon Sep 17 00:00:00 2001 From: xerox Date: Mon, 29 Jun 2020 12:02:25 +0000 Subject: [PATCH] Update loadup.hpp --- loadup.hpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/loadup.hpp b/loadup.hpp index e78c0ea..84326b1 100644 --- a/loadup.hpp +++ b/loadup.hpp @@ -266,12 +266,15 @@ namespace driver RtlInitAnsiString(&driver_rep_path_cstr, reg_path.c_str()); RtlAnsiStringToUnicodeString(&driver_reg_path_unicode, &driver_rep_path_cstr, true); - const auto unload_drv = !reinterpret_cast(lp_nt_unload_drv)(&driver_reg_path_unicode); - const auto image_path = util::get_service_image_path(service_name); - const auto delete_image = std::filesystem::remove(image_path); - const auto delete_reg = util::delete_service_entry(service_name); - - return unload_drv && delete_reg && delete_reg; + const bool unload_drv = !reinterpret_cast(lp_nt_unload_drv)(&driver_reg_path_unicode); + const auto image_path = std::filesystem::temp_directory_path().string() + service_name; + const bool delete_reg = util::delete_service_entry(service_name); + try + { + const bool delete_drv = std::filesystem::remove(image_path); + } + catch (std::exception& e) {} + return unload_drv && delete_reg; } return false; }