Skip to content

Commit

Permalink
silent mode
Browse files Browse the repository at this point in the history
  • Loading branch information
qtkite committed Jan 25, 2022
1 parent e19797d commit ef2557c
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 12 deletions.
32 changes: 26 additions & 6 deletions src/defender-control/main.cpp
@@ -1,25 +1,43 @@
// to-do:
// make a ui for this
// argument support -s check
//
#include "dcontrol.hpp"
#include "wmic.hpp"
#include "trusted.hpp"

bool check_silent(int argc, char** argv)
{
for (int i = 0; i < argc; i++)
{
if (!strcmp(argv[i], "-s"))
return true;
}
return false;
}

int main(int argc, char** argv)
{
auto silent = check_silent(argc, argv);

if (!trusted::has_admin())
{
printf("Must run as admin!\n");
system("pause");

if (!silent)
system("pause");

return EXIT_FAILURE;
}

// Because we are a primary token, we can't swap ourselves with an impersonation token.
// There will always be a need to re-create the process with the token as primary.
if (!trusted::is_system_group() && argc == 1)
// we check for argc == 1, assuming we aren't launching with any parameters
//
if (!trusted::is_system_group()) // && argc == 1
{
printf("Restarting with privileges\n");
trusted::create_process(util::get_current_path());
trusted::create_process(util::get_current_path().append(silent ? " -s" : ""));
return EXIT_SUCCESS;
}

Expand All @@ -31,8 +49,8 @@ int main(int argc, char** argv)
dcontrol::toggle_tamper(false);

printf(dcontrol::check_defender() ?
"Windows defender is ACTIVE\n" :
"Windows defender is OFF\n");
"Windows defender is currently ACTIVE\n" :
"Windows defender is currently OFF\n");

#if DEFENDER_CONFIG == DEFENDER_DISABLE
if (dcontrol::disable_defender())
Expand All @@ -53,6 +71,8 @@ int main(int argc, char** argv)
printf("%s\n", e.what());
}

system("pause");
if (!silent)
system("pause");

return EXIT_SUCCESS;
}
2 changes: 0 additions & 2 deletions src/defender-control/reg.cpp
Expand Up @@ -12,7 +12,6 @@ namespace reg
DWORD buff_sz = sizeof(DWORD);

// https://docs.microsoft.com/en-us/windows/win32/winprog64/accessing-an-alternate-registry-view
//
status = RegOpenKeyExW(
HKEY_LOCAL_MACHINE,
root_name,
Expand All @@ -25,7 +24,6 @@ namespace reg
{
if (flags & DBG_MSG)
wprintf(L"Error opening %ls key \n", root_name);

return -1;
}

Expand Down
2 changes: 1 addition & 1 deletion src/defender-control/settings.hpp
Expand Up @@ -6,4 +6,4 @@
#define DEFENDER_DISABLE 2
#define DEFENDER_GUI 3

#define DEFENDER_CONFIG DEFENDER_DISABLE
#define DEFENDER_CONFIG DEFENDER_ENABLE
1 change: 0 additions & 1 deletion src/defender-control/trusted.cpp
Expand Up @@ -283,5 +283,4 @@ namespace trusted

return ret;
}

}
2 changes: 0 additions & 2 deletions src/defender-control/wmic.cpp
Expand Up @@ -140,6 +140,4 @@ namespace wmic
{
return last_error;
}


}

0 comments on commit ef2557c

Please sign in to comment.