32 lines
843 B
C
Raw Normal View History

#pragma once
// host.h
// 8/23/2013 jichi
// Branch: ITH/IHF.h, rev 105
2018-08-22 12:24:55 -04:00
#include "common.h"
2018-07-23 12:25:02 -07:00
#include "textthread.h"
typedef std::function<void(DWORD)> ProcessEventCallback;
typedef std::function<void(TextThread*)> ThreadEventCallback;
2018-07-23 12:25:02 -07:00
namespace Host
{
2018-08-24 12:50:20 -04:00
void Start(ProcessEventCallback onAttach, ProcessEventCallback onDetach, ThreadEventCallback onCreate, ThreadEventCallback onRemove);
void Close();
2018-08-24 14:04:23 -04:00
2018-08-24 12:50:20 -04:00
bool InjectProcess(DWORD pid, DWORD timeout = 5000);
2018-08-24 14:04:23 -04:00
void DetachProcess(DWORD pid);
void InsertHook(DWORD pid, HookParam hp, std::string name = "");
2018-09-20 21:59:07 -04:00
void RemoveHook(DWORD pid, uint64_t addr);
2018-08-24 12:50:20 -04:00
2018-09-20 21:59:07 -04:00
HookParam GetHookParam(DWORD pid, uint64_t addr);
2018-08-24 12:50:20 -04:00
HookParam GetHookParam(ThreadParam tp);
2018-09-20 21:59:07 -04:00
std::wstring GetHookName(DWORD pid, uint64_t addr);
2018-08-24 12:50:20 -04:00
TextThread* GetThread(ThreadParam tp);
void AddConsoleOutput(std::wstring text);
2018-07-23 12:25:02 -07:00
}
// EOF