#pragma once #define LOG_LEVEL 0 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include "unicorn/include/unicorn/unicorn.h" #include "capstone/include/capstone/capstone.h" #pragma comment(lib, "unicorn/unicorn.lib") #pragma comment(lib, "capstone/capstone.lib") #include "libpeconv/include/peconv.h" #include "native_struct.h" #include "tiny_wfp_structs.h" struct BasicPeInfo { std::string inputFilePath; bool isX64; uint64_t RecImageBase; uint64_t entryPoint; uint64_t imageEnd; bool isRelocated; uint8_t* peBuffer; size_t peSize; PIMAGE_NT_HEADERS ntHead64; PIMAGE_NT_HEADERS32 ntHead32; bool isDll; ~BasicPeInfo() { if (peBuffer != nullptr) { peconv::free_pe_buffer(peBuffer); peBuffer = nullptr; } } }; #include "sandbox.h" #include "ml.h"