id: 1 unit: BOOL HardenKnownDlls() file: PPLGuard/exploit.cpp start line: 4 end line: 427 size: 228 LOC McCabe index: 53 number of parameters: 0 id: 2 unit: BOOL FindProcessTokenAndDuplicate() file: PPLGuard/exploit.cpp start line: 828 end line: 939 size: 91 LOC McCabe index: 24 number of parameters: 4 id: 3 unit: BOOL DeleteKnownDllEntry() file: PPLGuardDll/dllexploit.cpp start line: 192 end line: 325 size: 78 LOC McCabe index: 16 number of parameters: 1 id: 4 unit: BOOL MakeKnownDllsReadOnly() file: PPLGuardDll/dllexploit.cpp start line: 327 end line: 439 size: 77 LOC McCabe index: 15 number of parameters: 1 id: 5 unit: void DoStuff() file: PPLGuardDll/dllexploit.cpp start line: 3 end line: 110 size: 72 LOC McCabe index: 17 number of parameters: 0 id: 6 unit: BOOL TokenCheckPrivilege() file: PPLGuard/utils.cpp start line: 527 end line: 609 size: 71 LOC McCabe index: 14 number of parameters: 3 id: 7 unit: BOOL HardenAntiMalwareServiceToken() file: PPLGuardDll/dllexploit.cpp start line: 470 end line: 537 size: 59 LOC McCabe index: 9 number of parameters: 1 id: 8 unit: BOOL CheckRequirements() file: PPLGuard/exploit.cpp start line: 430 end line: 503 size: 59 LOC McCabe index: 9 number of parameters: 0 id: 9 unit: BOOL ProcessGetPIDFromName() file: PPLGuard/utils.cpp start line: 301 end line: 368 size: 55 LOC McCabe index: 11 number of parameters: 2 id: 10 unit: BOOL WritePayloadDllTransacted() file: PPLGuard/exploit.cpp start line: 725 end line: 825 size: 54 LOC McCabe index: 10 number of parameters: 1 id: 11 unit: BOOL ProcessGetProtectionLevelAsString() file: PPLGuard/utils.cpp start line: 203 end line: 257 size: 49 LOC McCabe index: 13 number of parameters: 2 id: 12 unit: BOOL FindFileForTransaction() file: PPLGuard/exploit.cpp start line: 665 end line: 722 size: 47 LOC McCabe index: 10 number of parameters: 2 id: 13 unit: BOOL CheckKnownDllSymbolicLink() file: PPLGuard/exploit.cpp start line: 1007 end line: 1064 size: 47 LOC McCabe index: 8 number of parameters: 2 id: 14 unit: BOOL HardenAntiMalwareServices() file: PPLGuardDll/dllexploit.cpp start line: 539 end line: 587 size: 41 LOC McCabe index: 8 number of parameters: 0 id: 15 unit: BOOL ParseArguments() file: PPLGuard/utils.cpp start line: 3 end line: 45 size: 39 LOC McCabe index: 9 number of parameters: 2 id: 16 unit: VOID PrintUsage() file: PPLGuard/utils.cpp start line: 52 end line: 91 size: 37 LOC McCabe index: 1 number of parameters: 0 id: 17 unit: BOOL TokenGetSid() file: PPLGuard/utils.cpp start line: 414 end line: 456 size: 35 LOC McCabe index: 8 number of parameters: 2 id: 18 unit: void LogToConsole() file: PPLGuardDll/dllexploit.cpp start line: 112 end line: 163 size: 34 LOC McCabe index: 7 number of parameters: 2 id: 19 unit: BOOL ProcessGetIntegrityLevel() file: PPLGuard/utils.cpp start line: 259 end line: 299 size: 32 LOC McCabe index: 9 number of parameters: 2 id: 20 unit: BOOL GetPayloadDll() file: PPLGuard/exploit.cpp start line: 625 end line: 662 size: 31 LOC McCabe index: 5 number of parameters: 2 id: 21 unit: BOOL PrepareCommandLine() file: PPLGuard/exploit.cpp start line: 1125 end line: 1164 size: 30 LOC McCabe index: 7 number of parameters: 2 id: 22 unit: VOID PrintVerbose() file: PPLGuard/utils.cpp start line: 99 end line: 136 size: 30 LOC McCabe index: 6 number of parameters: 2 id: 23 unit: BOOL ParseCommandLine() file: PPLGuardDll/dllexploit.cpp start line: 589 end line: 621 size: 28 LOC McCabe index: 7 number of parameters: 0 id: 24 unit: VOID PrintDebug() file: PPLGuard/utils.cpp start line: 138 end line: 172 size: 28 LOC McCabe index: 4 number of parameters: 2 id: 25 unit: BOOL TokenIsNotRestricted() file: PPLGuard/utils.cpp start line: 611 end line: 646 size: 28 LOC McCabe index: 6 number of parameters: 2 id: 26 unit: BOOL APIENTRY DllMain() file: PPLGuardDll/PPLGuardDll.cpp start line: 40 end line: 66 size: 27 LOC McCabe index: 10 number of parameters: 3 id: 27 unit: BOOL TokenGetUsername() file: PPLGuard/utils.cpp start line: 493 end line: 525 size: 27 LOC McCabe index: 5 number of parameters: 2 id: 28 unit: BOOL ImpersonateUser() file: PPLGuard/exploit.cpp start line: 956 end line: 990 size: 26 LOC McCabe index: 7 number of parameters: 4 id: 29 unit: BOOL MapDll() file: PPLGuard/exploit.cpp start line: 1067 end line: 1106 size: 26 LOC McCabe index: 4 number of parameters: 2 id: 30 unit: BOOL ProcessGetProtectionLevel() file: PPLGuard/utils.cpp start line: 174 end line: 201 size: 22 LOC McCabe index: 4 number of parameters: 2 id: 31 unit: BOOL IsCurrentUserSystem() file: PPLGuard/exploit.cpp start line: 506 end line: 531 size: 21 LOC McCabe index: 5 number of parameters: 1 id: 32 unit: BOOL GetHijackableDllName() file: PPLGuard/exploit.cpp start line: 534 end line: 558 size: 20 LOC McCabe index: 5 number of parameters: 1 id: 33 unit: HANDLE ObjectManagerCreateSymlink() file: PPLGuard/utils.cpp start line: 391 end line: 412 size: 19 LOC McCabe index: 2 number of parameters: 2 id: 34 unit: BOOL MiscGenerateGuidString() file: PPLGuard/utils.cpp start line: 655 end line: 680 size: 19 LOC McCabe index: 5 number of parameters: 1 id: 35 unit: BOOL GetCurrentDllFileName() file: PPLGuardDll/dllexploit.cpp start line: 172 end line: 190 size: 17 LOC McCabe index: 3 number of parameters: 1 id: 36 unit: HANDLE ObjectManagerCreateDirectory() file: PPLGuard/utils.cpp start line: 370 end line: 389 size: 17 LOC McCabe index: 2 number of parameters: 1 id: 37 unit: BOOL ProcessIsAMPPL() file: PPLGuardDll/dllexploit.cpp start line: 450 end line: 468 size: 16 LOC McCabe index: 3 number of parameters: 1 id: 38 unit: BOOL CreateProtectedProcessAsUser() file: PPLGuard/exploit.cpp start line: 1167 end line: 1186 size: 16 LOC McCabe index: 2 number of parameters: 3 id: 39 unit: BOOL TokenCompareSids() file: PPLGuard/utils.cpp start line: 475 end line: 491 size: 15 LOC McCabe index: 3 number of parameters: 2 id: 40 unit: BOOL TokenGetSidAsString() file: PPLGuard/utils.cpp start line: 458 end line: 473 size: 14 LOC McCabe index: 3 number of parameters: 2 id: 41 unit: BOOL UnmapDll() file: PPLGuard/exploit.cpp start line: 1109 end line: 1122 size: 12 LOC McCabe index: 2 number of parameters: 1 id: 42 unit: typedef __declspec() file: PPLGuardDll/dllexploit.h start line: 41 end line: 50 size: 10 LOC McCabe index: 1 number of parameters: 1 id: 43 unit: BOOL Impersonate() file: PPLGuard/exploit.cpp start line: 942 end line: 953 size: 10 LOC McCabe index: 2 number of parameters: 1 id: 44 unit: int wmain() file: PPLGuard/PPLGuard.cpp start line: 10 end line: 18 size: 7 LOC McCabe index: 2 number of parameters: 2 id: 45 unit: void LogLastError() file: PPLGuardDll/dllexploit.cpp start line: 165 end line: 170 size: 6 LOC McCabe index: 2 number of parameters: 1 id: 46 unit: BOOL MiscSystemArchIsAmd64() file: PPLGuard/utils.cpp start line: 648 end line: 653 size: 6 LOC McCabe index: 1 number of parameters: 0 id: 47 unit: BOOL ImpersonateSystem() file: PPLGuard/exploit.cpp start line: 993 end line: 998 size: 5 LOC McCabe index: 1 number of parameters: 1 id: 48 unit: VOID PrintLastError() file: PPLGuard/utils.cpp start line: 93 end line: 97 size: 5 LOC McCabe index: 1 number of parameters: 1 id: 49 unit: BOOL ImpersonateLocalService() file: PPLGuard/exploit.cpp start line: 1001 end line: 1004 size: 4 LOC McCabe index: 1 number of parameters: 1 id: 50 unit: VOID PrintArguments() file: PPLGuard/utils.cpp start line: 47 end line: 50 size: 4 LOC McCabe index: 1 number of parameters: 0 id: 51 unit: void APIENTRY LogonUserExExW() file: PPLGuardDll/PPLGuardDll.cpp start line: 71 end line: 71 size: 1 LOC McCabe index: 1 number of parameters: 0 id: 52 unit: void APIENTRY BriCreateBrokeredEvent() file: PPLGuardDll/PPLGuardDll.cpp start line: 76 end line: 76 size: 1 LOC McCabe index: 1 number of parameters: 0 id: 53 unit: void APIENTRY BriDeleteBrokeredEvent() file: PPLGuardDll/PPLGuardDll.cpp start line: 77 end line: 77 size: 1 LOC McCabe index: 1 number of parameters: 0 id: 54 unit: void APIENTRY EaCreateAggregatedEvent() file: PPLGuardDll/PPLGuardDll.cpp start line: 78 end line: 78 size: 1 LOC McCabe index: 1 number of parameters: 0 id: 55 unit: void APIENTRY EACreateAggregateEvent() file: PPLGuardDll/PPLGuardDll.cpp start line: 79 end line: 79 size: 1 LOC McCabe index: 1 number of parameters: 0 id: 56 unit: void APIENTRY EaQueryAggregatedEventParameters() file: PPLGuardDll/PPLGuardDll.cpp start line: 80 end line: 80 size: 1 LOC McCabe index: 1 number of parameters: 0 id: 57 unit: void APIENTRY EAQueryAggregateEventData() file: PPLGuardDll/PPLGuardDll.cpp start line: 81 end line: 81 size: 1 LOC McCabe index: 1 number of parameters: 0 id: 58 unit: void APIENTRY EaFreeAggregatedEventParameters() file: PPLGuardDll/PPLGuardDll.cpp start line: 82 end line: 82 size: 1 LOC McCabe index: 1 number of parameters: 0 id: 59 unit: void APIENTRY EaDeleteAggregatedEvent() file: PPLGuardDll/PPLGuardDll.cpp start line: 83 end line: 83 size: 1 LOC McCabe index: 1 number of parameters: 0 id: 60 unit: void APIENTRY EADeleteAggregateEvent() file: PPLGuardDll/PPLGuardDll.cpp start line: 84 end line: 84 size: 1 LOC McCabe index: 1 number of parameters: 0