Python
посмотрел на 004A1670.
у немцев я много выкладывал материала, если им правильно воспользоваться, то вообще нет нужды "искать" стандартные функции, которые можно вызвать из своего бота (движение, работа с джином и т.п.)... но об этом в другой раз. сейчас нет времени обновлять все это и готовить
принципы нахождения адресов и функций для инжекта
анализировать клиент, смотреть как выполняется код. Другого варианта нет.
Из Оли по F9 не получается, т.к. напрямую клиент не запускается.
запускается, достаточно убрать проверку на "запуск через launcher". Либо, если нет желания этим заниматься (хотя, это дело трех минут), можно просто выполнить Attach отладчика к уже запущенному процессу.
Все что могу придумать - сравнить всего клиента
очень плохая идея. Пусть этим занимается Cheat Engine, а статический адрес можно отыскать и трассируя код в ollydbg
И как быть с функциями без явных флагов
эмм, имелось ввиду «параметры функции»? все тот же анализ кода в дизассемблере (искать любые "зацепки"…). Здесь нельзя дать четких рекомендаций и указаний.

krukovis
$98B460 = BA – базовый адрес
$98B47C = BA+$1C – начало данных игровой сессии
$98B49C = BA+$1C+$20 – начало данных о персонаже
$98B900 = BA+$1C+$20+$464 – значение здоровья персонажа
немного добавлю. Дабы не возникало никаких трудностей, желательно получить базовые представления о низкоуровневом программировании.
mov EAX,ECX – загрузить значение в аккумулятор из ecx
mov EAX,[EDX] - загрузить значение в eax через указатель
Указатели заключаются в квадратные скобки
Т.е., [BA] – указатель, и если уж дальше копать, то [[[[BA]+а]+б]+с] (это так, для понимания)