Я гуглил, но я не уверен, что задаю правильный вопрос или нет, и я не смог найти много, независимо от того, может быть, ссылка будет полезной.
Я создал программу на c ++, которая показывает окно сообщения, затем открыл его с помощью Ollydbg и перешел к той части, где он вызывает MessageBoxW.
Адрес вызова MessageBoxW меняется каждый раз, когда я запускаю приложение, поскольку windows обновляет мою таблицу Imports, чтобы иметь правильный адрес MessageBoxW. Итак, мой вопрос: как мне найти виртуальные адреса MessageBoxW в моей таблице импорта, а также как я могу использовать это в ollydbg?
По сути, я пытаюсь создать в сборке кодовую пещеру, чтобы снова вызвать MessageBoxW.
Однажды я довольно близко подошел к поиску исполняемого файла с помощью шестнадцатеричного редактора и нашел позицию вызова, и я думаю, что нашел виртуальный адрес. Но когда я вызываю этот виртуальный адрес в olly и сохраняю его в исполняемый файл, в следующий раз, когда я открыл его, вызов был заменен группой DB xyz
(которая выглядела как виртуальный адрес, но почему удалили call
?
Извините, если моя терминология отключена, так как я новичок в этом, поэтому я не совсем уверен, как назвать вещи.