27 lines
778 B
C++
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();
|