This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
YimMenu/src/util/system.hpp
Andreas Maerten f13eab76a6
refactor!: File Manager (#1633)
* feat(vscode): added launch.json to dbg
* feat(file_manager): Make use of a global instance
* feat(file_manager): Allow for file and folder instances to be empty
* refactor(GlobalsService): Update code of global service (untested)
2023-07-08 17:54:59 +02:00

32 lines
915 B
C++

#pragma once
#include "crossmap.hpp"
#include "file_manager.hpp"
#include "memory/module.hpp"
#include "pointers.hpp"
namespace big::system
{
inline void dump_entry_points()
{
DWORD64 base_address = memory::module("GTA5.exe").begin().as<DWORD64>();
const auto file_path = g_file_manager.get_project_file("./entrypoints.txt");
auto file = std::ofstream(file_path.get_path(), std::ios::out | std::ios::trunc);
for (auto& map : g_crossmap)
{
auto address = g_pointers->m_gta.m_get_native_handler(g_pointers->m_gta.m_native_registration_table, map.second);
file << std::hex << std::uppercase << "0x" << map.first << " : GTA5.exe + 0x" << (DWORD64)address - base_address << std::endl;
}
file.close();
}
inline uintptr_t get_relative_address(void* ptr)
{
uintptr_t base_address = memory::module("GTA5.exe").begin().as<uintptr_t>();
return (uintptr_t)ptr - base_address;
}
}