summaryrefslogtreecommitdiff
path: root/csgo-loader/csgo-client/RemoteCode/RemoteInjectionClient.hpp
blob: 588017498b7d71dc71a8c78b1f82812022d43071 (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
#pragma once

#include <RemoteCode/RemoteProcess.hpp>
#include <UserExperience/UserInterface.hpp>

namespace RemoteCode
{
	class RemoteInjectionClient
	{
		ByteArray		m_Data;
		RemoteProcess	m_Process;
		char            m_ProcessName[64];
		void           *m_AllocationBase;

	public:
		RemoteInjectionClient() = default;

		// Select a game to inject the cheat for
		bool Start(UserExperience::SelectedGame Game);

		// Allocates a page in the game memory, which will be used to
		// write and execute the DLL.
		uintptr_t AllocateImagePage(size_t SizeOfImage);

		// Initializes m_Process with the game process.
		bool OpenGameHandle();

		void WriteToMap(ByteArray &CheatBin);
	};
}