Files
loader/StageClient.h
T
2026-11-03 20:45:39 -08:00

27 lines
778 B
C++

#pragma once
#include <windows.h>
#include <string>
#include "HostStager.h"
// Talks to the stage payload running inside a host process.
// Returns false when no stage is listening.
bool StageSend(const std::wstring& request, std::wstring& response);
bool StageAlive();
// Locates ardrvstage.dll: explicit path, next to the loader, or in the stage dir.
std::wstring StageDllPath(const std::wstring& explicitPath = L"");
// Injects the stage DLL into the best host and verifies the pipe answers.
HostInjectResult StageInject(
const std::wstring& dllPath,
const std::wstring& preferredImage,
bool requireSystem);
// Injects only when the pipe is not already answering.
HostInjectResult StageEnsure(bool requireSystem = true);
std::wstring FormatStageStatus();