summaryrefslogtreecommitdiff
path: root/csgo-loader/csgo-server/RemoteCode
diff options
context:
space:
mode:
Diffstat (limited to 'csgo-loader/csgo-server/RemoteCode')
-rw-r--r--csgo-loader/csgo-server/RemoteCode/FileReader.cpp29
-rw-r--r--csgo-loader/csgo-server/RemoteCode/FileReader.hpp31
-rw-r--r--csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.cpp1
-rw-r--r--csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.hpp6
-rw-r--r--csgo-loader/csgo-server/RemoteCode/RemoteInjectionServer.cpp1
-rw-r--r--csgo-loader/csgo-server/RemoteCode/RemoteInjectionServer.hpp6
6 files changed, 74 insertions, 0 deletions
diff --git a/csgo-loader/csgo-server/RemoteCode/FileReader.cpp b/csgo-loader/csgo-server/RemoteCode/FileReader.cpp
index e69de29..48fc374 100644
--- a/csgo-loader/csgo-server/RemoteCode/FileReader.cpp
+++ b/csgo-loader/csgo-server/RemoteCode/FileReader.cpp
@@ -0,0 +1,29 @@
+#include <RemoteCode/FileReader.hpp>
+
+namespace RemoteCode
+{
+ bool FileReader::Start(const char *FileName)
+ {
+ std::ifstream File(FileName, std::ios::in | std::ios::binary);
+
+ // File does not exist/is not open.
+ if(!File.is_open())
+ return false;
+
+ // Do not skip white-space, read file.
+ File.unsetf(std::ios::skipws);
+ m_Contents.insert(
+ m_Contents.begin(),
+ std::istream_iterator<uint8_t>(File),
+ std::istream_iterator<uint8_t>()
+ );
+
+ if(m_Contents.empty())
+ return false;
+
+ // Close the handle.
+ File.close();
+
+ return true;
+ }
+} \ No newline at end of file
diff --git a/csgo-loader/csgo-server/RemoteCode/FileReader.hpp b/csgo-loader/csgo-server/RemoteCode/FileReader.hpp
index 50e9667..85e5770 100644
--- a/csgo-loader/csgo-server/RemoteCode/FileReader.hpp
+++ b/csgo-loader/csgo-server/RemoteCode/FileReader.hpp
@@ -1 +1,32 @@
#pragma once
+
+#include <fstream>
+#include <cstdint>
+#include <vector>
+#include <iterator>
+
+using ByteArray = std::vector< uint8_t >;
+
+namespace RemoteCode
+{
+ class FileReader
+ {
+ // Contents of the file.
+ ByteArray m_Contents;
+
+ public:
+ FileReader() = default;
+
+ // Constructor (ignores exception-handling).
+ FileReader(const char *FileName) { Start(FileName); }
+
+ // Read a file.
+ bool Start(const char *FileName);
+
+ // Self-explanatory.
+ size_t GetFileLength() { return m_Contents.size(); }
+
+ // Allow the user to walk the data.
+ operator uint8_t *() { return m_Contents.data(); }
+ };
+} \ No newline at end of file
diff --git a/csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.cpp b/csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.cpp
new file mode 100644
index 0000000..7e4b553
--- /dev/null
+++ b/csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.cpp
@@ -0,0 +1 @@
+#include <RemoteCode/RemoteCodeServer.hpp>
diff --git a/csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.hpp b/csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.hpp
new file mode 100644
index 0000000..57f1499
--- /dev/null
+++ b/csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.hpp
@@ -0,0 +1,6 @@
+#pragma once
+
+namespace RemoteCode
+{
+
+} \ No newline at end of file
diff --git a/csgo-loader/csgo-server/RemoteCode/RemoteInjectionServer.cpp b/csgo-loader/csgo-server/RemoteCode/RemoteInjectionServer.cpp
new file mode 100644
index 0000000..fd3efc0
--- /dev/null
+++ b/csgo-loader/csgo-server/RemoteCode/RemoteInjectionServer.cpp
@@ -0,0 +1 @@
+#include <RemoteCode/RemoteInjectionServer.hpp>
diff --git a/csgo-loader/csgo-server/RemoteCode/RemoteInjectionServer.hpp b/csgo-loader/csgo-server/RemoteCode/RemoteInjectionServer.hpp
new file mode 100644
index 0000000..57f1499
--- /dev/null
+++ b/csgo-loader/csgo-server/RemoteCode/RemoteInjectionServer.hpp
@@ -0,0 +1,6 @@
+#pragma once
+
+namespace RemoteCode
+{
+
+} \ No newline at end of file