#pragma once #include #include #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();