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

[Cheat Engine Tutorial Games] Поиск указателя.

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

Cheat engine 6.8.3 (Встроенная игра 'About - Help Cheat Engine Tutorial Games').

 

Нашел значения 5 патронов.

5 3473418
4 3407882
3 3342346
2 3276810
1 3211274

 

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

100002F54 - 48 89 02  - mov [rdx],rax
7FFB08B21E9D - 66 44 85 04 42   - test [rdx+rax*2],r8w
7FFB08B40562 - 41 0FB7 45 00  - movzx eax,word ptr [r13+00]
7FFB08B21C87 - 0FB7 42 12  - movzx eax,word ptr [rdx+12]
7FFB08B21C92 - 0FB7 42 10  - movzx eax,word ptr [rdx+10]

 

P.s. Найти указатель удалось через автоматический поиск Pointer Map => Pointer scan. Но здесь скорее спортивный интерес.


Собственно несколько вопросов:

1. Почему ничего не находится? ;D

2. CE может неверно предположить адрес указателя ?  (Не в данном случае, а вообще).

3. Почему после выполнения этой команды movzx eax,word ptr [rdx+12] в EAX помещается 0x20 (32dec) ?

    До выполнения в EAX - 0000000000000000

    До выполнения в RDX - 000000000166A118

    В RDX содержится значение - 3276810 (0032000A000D003A)

    Из логики следует, что 32 - это 12-ый символ если считать справа на лево. Но почему справа? 

 

 

Изменено пользователем csharp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, csharp сказал:

Почему после выполнения этой команды movzx eax,word ptr [rdx+12] в EAX помещается 0x20 (32dec) ?

movzx преобразует операнд без знака в эквивалентный ему операнд без знака большей размерности. Для этого содержимое операнда источника, начиная с его младших разрядов, записывается в операнд приемник. Старшие разряды операнда приемника заполняются нулем.

 

3 часа назад, csharp сказал:

Почему ничего не находится? ;D

Потому что стоит разобраться с настройками и уровнями сканирования

 

3 часа назад, csharp сказал:

CE может неверно предположить адрес указателя ?  (Не в данном случае, а вообще).

Конечно, поэтому чтобы наверняка иметь правильный указатель, можно комбинировать ручной поиск и автоматический(найти пару уровней руками, а после сказать сканеру, чтобы он искал все указатели заканчивающиеся на эти 2 уровня)

  • Понравилось 1

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×

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

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