Originally Posted by
lolp1
This is still the case (private is safe). Read memory emulate input, find your own or an unbanned unlock method, or lots of ways to do it.
I'm trying to get it to just work at first, then I will look into safety regarding Warden. I've made some progress, but my test lua call was still blocked as protected lua even though it's called from within my detour of an injected dll using PolyHook_2. The detour works, but it doesn't appear to be running from the main thread, or it's more likely I'm misunderstanding where/how to call the lua.
Code:
// Present detour
NOINLINE HRESULT __fastcall hook_present(IDXGISwapChain* p_chain, UINT sync_interval, UINT flags)
{
if (!g_bInitialised)
{
std::cout << "\t[+] Present hook called for first time" << std::endl;
if (FAILED(swapchain_get_device(p_chain, &p_device, &p_context)))
return PLH::FnCast(hook_present_tramp, fn_present)(p_chain, sync_interval, flags);
p_swap_chain = p_chain;
DXGI_SWAP_CHAIN_DESC sd;
p_chain->GetDesc(&sd);
window = sd.OutputWindow;
ID3D11Texture2D* p_back_buffer;
p_chain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&p_back_buffer);
p_device->CreateRenderTargetView(p_back_buffer, NULL, &mainRenderTargetView);
p_back_buffer->Release();
// lua call test
fn_frame_execute("JumpOrAscendStart()", "somestring", "jump.lua");
g_bInitialised = true;
}
p_context->OMSetRenderTargets(1, &mainRenderTargetView, NULL);
return PLH::FnCast(hook_present_tramp, fn_present)(p_chain, sync_interval, flags);
}
This is what happens after the Directx11 detour fires for the first time upon injection. ("jump.lua" has been blocked from an action only available to the Blizzard UI.")
oc.png
Edit/Update:
I was able to get it working by mostly changing the lua call definition and the parameters passed. I was pretty surprised it actually worked (jumped from injected dll). I have a feeling it allows me to do these calls, but it still knows that my calling environment is not "clean". I'm not really sure how to mask what I'm doing from Warden though. I think I will focus on other things for now and come back.