aboutsummaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorauth <[email protected]>2020-07-05 12:00:04 +0200
committerauth <[email protected]>2020-07-05 12:00:04 +0200
commit6a33a72c7b423afb143a67a3e88d27e4bcafd116 (patch)
tree93766d360a2eb76ec35362bb2645910f7297a742 /client
parentMerge branch 'master' of github.com:auth12/loader (diff)
downloadloader-6a33a72c7b423afb143a67a3e88d27e4bcafd116.tar.xz
loader-6a33a72c7b423afb143a67a3e88d27e4bcafd116.zip
More assembler implementations.
Small changes to client on server.
Diffstat (limited to 'client')
-rw-r--r--client/src/assembler/assembler.cpp16
-rw-r--r--client/src/assembler/assembler.h4
-rw-r--r--client/src/main.cpp5
3 files changed, 17 insertions, 8 deletions
diff --git a/client/src/assembler/assembler.cpp b/client/src/assembler/assembler.cpp
index 43816fd..5311833 100644
--- a/client/src/assembler/assembler.cpp
+++ b/client/src/assembler/assembler.cpp
@@ -1,14 +1,24 @@
#include "../include.h"
#include "assembler.h"
+void assembler::assembler::start() {}
+
void assembler::assembler::push(const std::vector<uintptr_t>& args) {
- for (auto it = args.rbegin(); it != args.rend(); ++it) {
- m_assembler.push(*it);
+ if (!m_x64) {
+ for (auto it = args.rbegin(); it != args.rend(); ++it) {
+ m_assembler.push(*it);
+ }
+ return;
}
+
+ // 64bit impl
}
+void assembler::assembler::call(const uintptr_t addr) {}
+
void assembler::assembler::end() {
- // epilogue here
+ if (m_x64) {
+ }
void* func;
m_runtime.add(&func, &m_code);
diff --git a/client/src/assembler/assembler.h b/client/src/assembler/assembler.h
index 390cd42..3dcdeaf 100644
--- a/client/src/assembler/assembler.h
+++ b/client/src/assembler/assembler.h
@@ -13,13 +13,15 @@ class assembler {
JitRuntime m_runtime;
x86::Assembler m_assembler;
+ bool m_x64;
public:
- assembler(const bool x64 = false) {
+ assembler(const bool x64 = false) : m_x64{x64} {
Environment env(x64 ? Environment::kArchX64 : Environment::kArchX86);
m_code.init(env);
m_code.attach(&m_assembler);
}
+
void start();
void push(const std::vector<uintptr_t> &args);
void call(const uintptr_t addr);
diff --git a/client/src/main.cpp b/client/src/main.cpp
index 727e3a0..8e742de 100644
--- a/client/src/main.cpp
+++ b/client/src/main.cpp
@@ -28,9 +28,6 @@ int main(int argc, char* argv[]) {
auto message = packet();
auto action = packet.act;
- // move ?
- int ret = -1;
-
if (action == tcp::packet_action::session) {
client.session_id = packet.session_id;
tcp::version_t v{0, 1, 0};
@@ -50,7 +47,7 @@ int main(int argc, char* argv[]) {
}
io::logger->info("{}:{}->{} {}", packet.id, packet.session_id, message,
- packet.act);
+ action);
});
while (client) {