fastmailsend Опубликовано 15 февраля, 2019 Поделиться Опубликовано 15 февраля, 2019 Решил прочитать память игрушки, но вот что-то, как обычно пошло не так :/ Вот мой список действий/шагов: 1. Я получаю baseAddress нужного мне модуля игры 2. Складываю его с baseAddress уже нужного мне параметра 3. Читаю полученное для последующего пробега по поинтерам Но по полученному мною адресе храниться 94E07400. Если вбить в поиск CE 7FF7249A3038 (результат 2 шага), то я так-же получу 94E07400. Но если уже составлять указатель в CE, то он выдаст совершенно другой результат сложения/чтения 22E94E07400. Вопрос: откуда появилось 22E? Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 16 февраля, 2019 Поделиться Опубликовано 16 февраля, 2019 Скриншот недоступен. Ссылка на комментарий Поделиться на другие сайты Поделиться
fastmailsend Опубликовано 16 февраля, 2019 Автор Поделиться Опубликовано 16 февраля, 2019 (изменено) http://www.picshare.ru/view/9888722/ Изменено 16 февраля, 2019 пользователем fastmailsend Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 16 февраля, 2019 Поделиться Опубликовано 16 февраля, 2019 2 часа назад, fastmailsend сказал: http://www.picshare.ru/view/9888722/ Все правильно работает, ты просто тип используешь 4 байта, а надо 8. Думаю стоило бы для начала разобраться с типами переменных. Ссылка на комментарий Поделиться на другие сайты Поделиться
fastmailsend Опубликовано 16 февраля, 2019 Автор Поделиться Опубликовано 16 февраля, 2019 1 час назад, partoftheworlD сказал: Все правильно работает, ты просто тип используешь 4 байта, а надо 8. Думаю стоило бы для начала разобраться с типами переменных. разве он не должен в зависимости от системы сам размер ставить? Marshal.SizeOf<cData>(); Ссылка на комментарий Поделиться на другие сайты Поделиться
fastmailsend Опубликовано 16 февраля, 2019 Автор Поделиться Опубликовано 16 февраля, 2019 Разобрался, я почему-то забыл изменить uint32 на uint64 Ссылка на комментарий Поделиться на другие сайты Поделиться
fastmailsend Опубликовано 16 февраля, 2019 Автор Поделиться Опубликовано 16 февраля, 2019 (изменено) Вопрос уже по другой теме, но есть такая функция: Read<UInt64>(addr); Как программно вписать вместо UInt64, например UInt32. Хочу чтобы программа сама определяла разредность процесса(использую IsWow64Process) и в зависимости от этого изменять тип читаемых данных(UInt32/UInt64) Надеюсь понятно сказал Или же как хранить тип переменной в переменной. Изменено 16 февраля, 2019 пользователем fastmailsend Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения