示例#1
0
 explicit PatchDetour(Process const& process,
                      TargetFuncRawT target,
                      DetourFuncT const& detour,
                      ContextT context = ContextT())
   : process_{&process},
     target_{detail::AliasCast<void*>(target)},
     detour_{detour},
     context_(std::move(context)),
     stub_{std::make_unique<StubT>(this)}
 {
 }
 explicit PatchFuncPtr(Process const& process,
                       TargetFuncRawT* target,
                       DetourFuncT const& detour,
                       ContextT context = ContextT())
   : process_{&process},
     target_{target},
     detour_{detour},
     context_(std::move(context)),
     stub_{std::make_unique<StubT>(this)}
 {
 }
示例#3
0
 explicit PatchFuncRva(Process const& process,
                       void* base,
                       DWORD* target,
                       DetourFuncT const& detour,
                       ContextT context = ContextT())
   : process_{&process},
     base_{base},
     target_{target},
     detour_{detour},
     context_(std::move(context)),
     stub_{std::make_unique<StubT>(this)}
 {
 }
示例#4
0
 PatchIat(Process const& process,
          std::wstring const& module,
          std::string const& function,
          DetourFuncT const& detour,
          ContextT context = ContextT())
   : process_{&process},
     module_(detail::ToUpperOrdinal(module)),
     function_(function),
     detour_{detour},
     context_(std::move(context))
 {
   hadesmem::ModuleList const modules{process};
   for (auto const& m : modules)
   {
     HookModule(m);
   }
 }
示例#5
0
 explicit PatchFuncRva(Process&& process,
                       void* base,
                       DWORD* target,
                       DetourFuncT const& detour,
                       ContextT context = ContextT()) = delete;
示例#6
0
 explicit PatchIat(Process&& process,
                   std::wstring const& module,
                   std::string const& function,
                   DetourFuncT const& detour,
                   ContextT context = ContextT()) = delete;
示例#7
0
 explicit PatchDetour(Process&& process,
                      TargetFuncRawT target,
                      DetourFuncT const& detour,
                      ContextT context = ContextT()) = delete;