Перейти к содержанию

Разные результаты readpointer CE и C#


Рекомендуемые сообщения

Решил прочитать память игрушки, но вот что-то, как обычно пошло не так :/

 

Вот мой список действий/шагов:
1. Я получаю baseAddress нужного мне модуля игры
2. Складываю его с baseAddress уже нужного мне параметра
3. Читаю полученное для последующего пробега по поинтерам

1012232d1550267867

Но по полученному мною адресе храниться 94E07400. Если вбить в поиск CE 7FF7249A3038 (результат 2 шага), то я так-же получу 94E07400. Но если уже составлять указатель в CE, то он выдаст совершенно другой результат сложения/чтения 22E94E07400.
Вопрос: откуда появилось 22E?

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, fastmailsend сказал:

 

Все правильно работает, ты просто тип используешь 4 байта, а надо 8. Думаю стоило бы для начала разобраться с типами переменных.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, partoftheworlD сказал:

 

Все правильно работает, ты просто тип используешь 4 байта, а надо 8. Думаю стоило бы для начала разобраться с типами переменных.


 
 разве он не должен в зависимости от системы сам размер ставить?
Marshal.SizeOf<cData>();

 

Ссылка на комментарий
Поделиться на другие сайты


Вопрос уже по другой теме, но есть такая функция: Read<UInt64>(addr);

 

 

 

Как программно вписать вместо UInt64, например UInt32. Хочу чтобы программа сама определяла разредность процесса(использую IsWow64Process) и в зависимости от этого изменять тип читаемых данных(UInt32/UInt64)
Надеюсь понятно сказал

Или же как хранить тип переменной в переменной.

Изменено пользователем fastmailsend
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.