Начинающий
-
Автор темы
- #1
Самая дефолтная get_camera
именно тут ошибка
for (auto walker = (uint64_t*)camera_string; walker > 0; walker -= 1) {uint64_t get_camera() {
const auto base = (uint64_t)GetModuleHandleA(("UnityPlayer.dll"));
if (!base)
return 0;
const auto dos_header = reinterpret_cast<IMAGE_DOS_HEADER*>(base);
const auto nt_header = reinterpret_cast<IMAGE_NT_HEADERS64*>(base + dos_header->e_lfanew);
uint64_t data_base;
uint64_t data_size;
for (int i = 0;;) {
const auto section = reinterpret_cast<IMAGE_SECTION_HEADER*>(
base + dos_header->e_lfanew + // nt_header base
sizeof(IMAGE_NT_HEADERS64) + // start of section headers
(i * sizeof(IMAGE_SECTION_HEADER))); // section header at our index
if (strcmp((char*)section->Name, (".data")) == 0) {
data_base = section->VirtualAddress + base;
data_size = section->SizeOfRawData;
break;
}
i++;
if (i >= nt_header->FileHeader.NumberOfSections) {
Beep(500, 1000);
return 0;
}
}
uint64_t camera_table = 0;
const auto camera_string = memstr((char*)data_base, ("AllCameras"), data_size);
for (auto walker = (uint64_t*)camera_string; walker > 0; walker -= 1) {
if (*walker > 0x100000 && *walker < 0xF00000000000000) {
//[[[unityplayer.dll + ctable offset]] + 0x30] = Camera
camera_table = *walker;
break;
}
}
if (camera_table)
return camera_table;
//Beep(500, 1000);
return 0;
}
именно тут ошибка