
* 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)
32 lines
915 B
C++
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;
|
|
}
|
|
} |