У меня есть исполняемый файл, который я написал некоторое время назад и не могу найти исходный код для него (он был написан на C ++).
Это вызывает MessageBoxA
функция в user32.dll
и передает необходимые параметры ему. Я хочу изменить параметр флагов, чтобы включить MB_ICONERROR
(0x10) флаг.
Как мне найти, какие байты в exe-файле нужно изменить, чтобы добиться этого?
Вам нужен дизассемблер, такой как ICE или IDA. https://www.hex-rays.com/products/ida/support/download.shtml.
Загрузите исполняемый файл. Найдите вызов Win32 API в окне имен, чтобы найти его, просто введите имя функции. Затем дважды щелкните CODE XREF, чтобы перейти к вызывающему абоненту.
Тогда вы получите то, что хотите:
Просто выберите строку и нажмите на Hex-View, чтобы получить адрес.
Других решений пока нет …