Вопрос ">": упорядоченное сравнение указателя и целочисленного нуля ("uint64_t *" и "int"). get_camera

Начинающий
Статус
Оффлайн
Регистрация
24 Мар 2024
Сообщения
2
Реакции[?]
1
Поинты[?]
1K
Самая дефолтная get_camera
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;
}
for (auto walker = (uint64_t*)camera_string; walker > 0; walker -= 1) {
именно тут ошибка
 
Сверху Снизу