Abraham08 Опубликовано 17 ноября, 2015 Поделиться Опубликовано 17 ноября, 2015 В общем, хочу написать трейнер для 64битной игры (она использует 64 битные адреса, 0х7FFED6CF128, в этом духе), а функция ReadProcessMemory в качестве аргумента принимает LPVOID , который 4 байтовый. Т.е. передавая этой функции адрес, передается только ED6CF128, а остальная часть теряется и, соответственно, функция считывает мусор. Как передать ей полный адрес? С 32 битными процессами проблем нет, там всё считывается прекрасно. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 17 ноября, 2015 Поделиться Опубликовано 17 ноября, 2015 Проводить к одному из типов.LPCVOID, ULONG_PTR, DWORD_PTRПодробности в MSDN. Ссылка на комментарий Поделиться на другие сайты Поделиться
Abraham08 Опубликовано 17 ноября, 2015 Автор Поделиться Опубликовано 17 ноября, 2015 Не, все эти типы тоже были 4 байтовые. Потратил пол дня на поиск ответа, а оказалось всё предельно просто.. http://www.mpgh.net/forum/showthread.php?t=860166 вот тут у человека была такая же проблема. Нужно было всего лишь перейти в режим 64 битного приложения в VS, после этого и LPVOID, и LPCVOID стали 8 байтовые и спокойно приняли этот адрес. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения