#include #include #include #pragma once //--- amlegit dll functions namespace amlegit { //--- function is only for extracting the driver static std::tuple get_driver() { auto get_driver_temp = reinterpret_cast<__int64(*)(unsigned*)>( GetProcAddress(LoadLibrary(L"buffer.dll"), "GetDriver")); unsigned driver_size; if (get_driver_temp) return { get_driver_temp(&driver_size), driver_size }; return { {}, {} }; } //--- this function calls GetDriver inside buffer.dll static bool load_driver() { auto load_drv = reinterpret_cast( GetProcAddress(LoadLibrary(L"buffer.dll"), "ExportLoad")); return load_drv ? load_drv() : false; } //--- driver_name is the name of the driver which is in current working directory static bool map_driver(const char* driver_name) { auto map_drv = reinterpret_cast( GetProcAddress(LoadLibrary(L"mmap.dll"), "ExportMap")); return map_drv ? map_drv(driver_name) : false; } //--- hooks ioctl of gpuenergydrv.sys static bool connect_driver() { auto connect_drv = reinterpret_cast( GetProcAddress(LoadLibrary(L"inject.dll"), "ExportConnect")); return connect_drv ? connect_drv() : false; } //--- pasted from: https://github.com/btbd/hwid static bool spoof() { auto spoof_addr = reinterpret_cast( GetProcAddress(LoadLibrary(L"inject.dll"), "ExportSpoof")); return spoof_addr ? spoof_addr() : false; } //--- this doesnt hide memory! static bool inject(const char* wind_name, const char* dll_name) { auto inject_addr = reinterpret_cast( GetProcAddress(LoadLibrary(L"inject.dll"), "ExportInject")); return inject_addr ? inject_addr(wind_name, dll_name) : false; } }