Пишу панель у правления для онлайн игры,Глобалььные переменные сразу проиграли бой(WriteProcessMemory,ReadProcessMemory),но как только я дошол до локальных переменных я заступорился, ведь игра ноаходиться под дзебагом лоадера,ВОПРОС,как без дебага читать/писать локальные переменные?
devillsd Локальные это имеется ввиду локальные для потока ? Если это так, то обычно адрес переменной не фиксирован от начала вершины стека, константа не пойдёт. Смещение фиксировано относительно регистра Ebp в процедуре.
Как понимаю я то мне нужно всегда знать значение EIP и ESP вот только как если я не могу быть дебагером???
BOOL GetThreadContext( HANDLE hThread, LPCONTEXT lpContext ); В структуре CONTEXT содержатся значения регистров
Нужно знать адрес процедуры, либо адрес процедуры в цепочке, которая вызывается из неё. Вариантов очень много. Кстати интересно что за игра ?
Vilco Этот вариант я рассматривал, но ведь процесс не стоит на месте пока я узнаю состояние регистров пока вычислю переменные реально они успеют поменяться... Или может и нет..как вы думаете.. Ещё раз повторюсь это не дебаг мод,процес не заморажуеться!!
devillsd А что если запустить без лоадера игра не работает? Тогда просто посмотреть что он делае6т и проэмулить, или пропатчить его по самое нехочу... или еще в него инжект dll...