В одном примере работы с дебаггером указан способ выявления некоторой функции, которая вызывается после нажатия кнопки мыши или клавиши на клавиатуре.
Для этого используется вкладка WM_LBUTTONDOWN.
У меня же была такая проблема — список был пустой:
Сначала я подумал, что это нормально и нужно было просто вписать нужную константу вручную. Сделав это, я всё равно ничего не отловил, тогда стал «ругать» эту сборку. Скачал другую, но там было то же самое. Затем я скачал совсем старую версию x64dbg (x32dbg), но решил не записывать её в Program Files, а запустил напрямую из папки загрузок, и она заработала! Я решил найти последнюю «рабочую» версию, но выяснилось, что они все работали. После разборок я обнаружил следующее…
Поскольку я раскладывал всё по полочкам, то в данном случае версию x32dbg я скопировал в Program Files (x86), а x64dbg в папку Program Files, а все остальные файлы я не копировал. То есть у меня уже не было папок уровня выше: themes, translations. Кроме этого не было файлов errordb.txt, exceptiondb.txt, mnemdb.json, ntstatusdb.txt, x64dbg.chm, x96dbg.exe. Но главное, не было файла winconstants.txt! Именно в нём хранятся все нужные значения.
Решение
Для решения этой проблемы есть два варианта:
1. Работать из папки snapshot_YYYY-MM-DD_HH-mm\release\x32
2. Если уж разносить папки как это сделал я, то необходимо, чтобы уровнем выше был скопирован файл winconstants.txt. Например в моём случае, файл должен быть скопирован сюда:
«C:\Program Files (x86)\winconstants.txt»
Поскольку это создаёт большую неразбериху, то буду оставлять только одну папку x96dbg (у этого варианта есть ещё один плюс — будут работать темы):
C:\Program Files\x96dbg
Вот теперь при вызове диалога Message Breakpoint, сразу подставляется результат:
Список можно раскрывать и выбирать нужное значение:
- C#: Сравнить два массива - 12.12.2024
- EVE-Online: Фильтры каналов - 23.11.2024
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024