77 lines
1.4 KiB
C++
77 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#define BINARY_PAYLOAD_SIZE 0x0A000000
|
|
#define TLS_PAYLOAD_SIZE 0x2000
|
|
|
|
#pragma warning(push)
|
|
#pragma warning(disable: 4244)
|
|
#pragma warning(disable: 4458)
|
|
#pragma warning(disable: 4702)
|
|
#pragma warning(disable: 6297)
|
|
#pragma warning(disable: 6385)
|
|
#pragma warning(disable: 6386)
|
|
#pragma warning(disable: 26451)
|
|
#pragma warning(disable: 26444)
|
|
#pragma warning(disable: 26451)
|
|
#pragma warning(disable: 26495)
|
|
#pragma warning(disable: 28020)
|
|
|
|
#define WIN32_LEAN_AND_MEAN
|
|
|
|
#include <windows.h>
|
|
#include <mshtml.h>
|
|
#include <mshtmhst.h>
|
|
#include <ExDisp.h>
|
|
#include <WinSock2.h>
|
|
#include <Ws2tcpip.h>
|
|
#include <corecrt_io.h>
|
|
#include <fcntl.h>
|
|
#include <shellapi.h>
|
|
#include <csetjmp>
|
|
|
|
// min and max is required by gdi, therefore NOMINMAX won't work
|
|
#ifdef max
|
|
#undef max
|
|
#endif
|
|
|
|
#ifdef min
|
|
#undef min
|
|
#endif
|
|
|
|
#include <map>
|
|
#include <atomic>
|
|
#include <vector>
|
|
#include <mutex>
|
|
#include <queue>
|
|
#include <regex>
|
|
#include <chrono>
|
|
#include <thread>
|
|
#include <fstream>
|
|
#include <utility>
|
|
#include <filesystem>
|
|
|
|
#include <zlib.h>
|
|
#include <zstd.h>
|
|
#include <diff.h>
|
|
#include <patch.h>
|
|
#include <tomcrypt.h>
|
|
|
|
#include <gsl/gsl>
|
|
|
|
#include <udis86.h>
|
|
|
|
#include <chaiscript/chaiscript.hpp>
|
|
|
|
#pragma comment(lib, "gdiplus.lib")
|
|
#pragma comment(lib, "ws2_32.lib")
|
|
|
|
#pragma warning(pop)
|
|
|
|
#pragma warning(disable: 4100)
|
|
#pragma warning(disable: 26812)
|
|
|
|
#include "resource.hpp"
|
|
|
|
using namespace std::literals;
|
|
|
|
extern __declspec(thread) char tls_data[TLS_PAYLOAD_SIZE]; |