Привет форумчане. Не получается в игре Black and White 2 найти значение дани (tribute). Пытался найти разными способами, но ничего не получилось. Возник уже спортивный интерес, каким образом можно взломать дань.
Версия игры: "Build: 1448" torrent edition😀; Cheat Engine - 7.0.
Как говорил, значение не нашел ни как целочисленное (2 Байта, 4 Байта, 8 Байта), на как с плавающей точкой (float, double), ни как строка.
По типу поиска "изменилось" - "не изменилось" тоже нет результата.
НО! Нашел адреса получения и трат дани (из игровой статистики). Поизучал близлежащие адреса структуры - ничего нет.
Попробовал найти иструкции, записывающие значения трат дани в адрес, нашлась одна инструкция:
add [esi+0001C1FC],eax
Чтобы найти, что записыватся в регистр eax, пытался установить брейкпоинты (аппаратный, программный), трассировать инструкции, но игра зависала в черном экране. Приходилось убивать процесс в диспетчере задач.
Кто знает что нужно делать, чтобы взломать дань?
Вот близлежащий код функции:
white.exe+1BAE44 - 57 - push edi
white.exe+1BAE45 - 57 - push edi
white.exe+1BAE46 - E8 15B6F7FF - call white.exe+136460
white.exe+1BAE4B - 01 86 FCC10100 - add [esi+0001C1FC],eax <<
white.exe+1BAE51 - 8B 86 F4C10100 - mov eax,[esi+0001C1F4]
white.exe+1BAE57 - 57 - push edi
white.exe+1BAE58 - 50 - push eax
white.exe+1BAE59 - E8 62090000 - call white.exe+1BB7C0
white.exe+1BAE5E - 83 C4 10 - add esp,10 { 16 }
white.exe+1BAE61 - 5F - pop edi
white.exe+1BAE62 - 89 86 F4C10100 - mov [esi+0001C1F4],eax
white.exe+1BAE68 - 5E - pop esi
white.exe+1BAE69 - C2 0800 - ret 0008 { 8 }