diff --git a/eacmapper/stdfax.hpp b/eacmapper/stdfax.hpp new file mode 100644 index 0000000..d430318 --- /dev/null +++ b/eacmapper/stdfax.hpp @@ -0,0 +1,37 @@ +#pragma once + +#include +#include + +#include "minicrt.hpp" + +namespace std +{ + using uint64_t = unsigned long long; + using uint32_t = unsigned long; + using uint16_t = unsigned short; + using uint8_t = unsigned char; +} + +using veh_func = long(*)( PCONTEXT ); + +struct veh_entry +{ + void* hook_addr; + veh_func handler_func; + std::uint8_t original; +}; + +static_assert( sizeof( void* ) == 4U, "this project is intended to be compiled in x86." ); + +// IMAGE_NT_HEADERS defaults to IMAGE_NT_HEADERS32 on x86 so we must adjust this. +#define IMAGE_FIRST_SECTION64( nt_header ) ((PIMAGE_SECTION_HEADER) \ + ((std::uint32_t)(nt_header) + \ + FIELD_OFFSET( IMAGE_NT_HEADERS64, OptionalHeader ) + \ + ((nt_header))->FileHeader.SizeOfOptionalHeader \ + )) + +#include "dbg.hpp" +#include "utils.hpp" +#include "image.hpp" +#include "hooks.hpp" \ No newline at end of file