summaryrefslogtreecommitdiff
path: root/csgo-loader/csgo-client/RemoteCode/RemoteCodeClient.hpp
blob: 84021c60d1045d868fa29b95a6a4b495d7f4ca7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#pragma once

#include <RemoteCode/RemoteProcess.hpp>

namespace RemoteCode
{
	class RemoteCodeClient
	{
		using MemProtect = bool(__stdcall *)(void *, size_t, uint32_t, uint32_t *);

		struct ShellcodeParameters
		{
			// Specifies whether or not the thread hijacking
			// exploit will be used for code execution.
			uint8_t		m_ThreadExploit;

			// Address of the module allocation base
			uintptr_t	m_AllocationBase;

			// Specifies the entry-point / optional TLS directory
			// to invoke.
			uintptr_t	m_EntryPoint;
			uintptr_t	m_TlsDirectory;

			// Thread hijacking (original address & VMT)
			uintptr_t	m_ThreadOriginal;
			uintptr_t	m_ThreadVirtual;

			// Function parameters that will be passed
			MemProtect	m_ProtectMemory;
		};
	};
}