2018-12-01 09:42:29 -05:00
|
|
|
#pragma once
|
|
|
|
|
2018-12-23 16:15:32 -05:00
|
|
|
#define BINARY_PAYLOAD_SIZE 0x0A000000
|
2018-12-27 05:07:15 -05:00
|
|
|
#define TLS_PAYLOAD_SIZE 0x2000
|
2018-12-23 16:15:32 -05:00
|
|
|
|
2018-12-23 12:25:22 -05:00
|
|
|
#pragma warning(push)
|
|
|
|
#pragma warning(disable: 4458)
|
2019-01-17 17:09:50 -05:00
|
|
|
#pragma warning(disable: 4702)
|
2018-12-23 12:25:22 -05:00
|
|
|
|
2018-12-01 09:42:29 -05:00
|
|
|
#define WIN32_LEAN_AND_MEAN
|
|
|
|
|
|
|
|
#include <windows.h>
|
2019-01-05 05:44:45 -05:00
|
|
|
#include <mshtml.h>
|
|
|
|
#include <mshtmhst.h>
|
|
|
|
#include <ExDisp.h>
|
2018-12-26 14:21:20 -05:00
|
|
|
#include <WinSock2.h>
|
2018-12-27 11:00:46 -05:00
|
|
|
#include <Ws2tcpip.h>
|
2018-12-26 14:21:20 -05:00
|
|
|
#include <corecrt_io.h>
|
|
|
|
#include <fcntl.h>
|
2019-01-08 18:02:59 -05:00
|
|
|
#include <shellapi.h>
|
2019-01-20 08:14:06 -05:00
|
|
|
#include <csetjmp>
|
2018-12-01 09:42:29 -05:00
|
|
|
|
2018-12-26 10:28:16 -05:00
|
|
|
// min and max is required by gdi, therefore NOMINMAX won't work
|
|
|
|
#ifdef max
|
|
|
|
#undef max
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef min
|
|
|
|
#undef min
|
|
|
|
#endif
|
|
|
|
|
2018-12-01 09:42:29 -05:00
|
|
|
#include <map>
|
2019-01-05 17:34:46 -05:00
|
|
|
#include <atomic>
|
2018-12-01 09:42:29 -05:00
|
|
|
#include <vector>
|
2018-12-22 12:45:27 -05:00
|
|
|
#include <mutex>
|
2018-12-26 14:21:20 -05:00
|
|
|
#include <queue>
|
2018-12-27 11:00:46 -05:00
|
|
|
#include <regex>
|
2019-01-20 15:21:15 -05:00
|
|
|
#include <chrono>
|
2018-12-23 07:17:08 -05:00
|
|
|
#include <thread>
|
2018-12-23 16:15:32 -05:00
|
|
|
#include <fstream>
|
2018-12-26 14:21:20 -05:00
|
|
|
#include <utility>
|
2018-12-23 16:15:32 -05:00
|
|
|
#include <filesystem>
|
2018-12-23 07:17:08 -05:00
|
|
|
|
2018-12-26 10:28:16 -05:00
|
|
|
#include <zlib.h>
|
|
|
|
#include <diff.h>
|
|
|
|
#include <patch.h>
|
|
|
|
#include <tomcrypt.h>
|
|
|
|
|
2019-01-05 08:55:37 -05:00
|
|
|
#include <gsl/gsl>
|
|
|
|
|
2019-01-06 15:14:01 -05:00
|
|
|
#include <udis86.h>
|
|
|
|
|
2019-01-13 05:47:25 -05:00
|
|
|
#include <chaiscript/chaiscript.hpp>
|
|
|
|
|
2019-01-06 06:21:45 -05:00
|
|
|
#pragma comment(lib, "gdiplus.lib")
|
2018-12-27 11:00:46 -05:00
|
|
|
#pragma comment(lib, "ws2_32.lib")
|
|
|
|
|
2018-12-27 05:07:15 -05:00
|
|
|
#pragma warning(pop)
|
2018-12-01 09:42:29 -05:00
|
|
|
#pragma warning(disable: 4100)
|
|
|
|
|
2018-12-23 12:25:22 -05:00
|
|
|
#include "resource.hpp"
|
2018-12-27 05:07:15 -05:00
|
|
|
|
|
|
|
using namespace std::literals;
|
2019-01-20 11:29:37 -05:00
|
|
|
|
|
|
|
extern __declspec(thread) char tls_data[TLS_PAYLOAD_SIZE];
|