Сейчас на форуме: bartolomeo, -Sanchez- (+4 невидимых) |
eXeL@B —› Вопросы новичков —› Как в SoftIce можно открыть нужное мне окно чужой программы? |
Посл.ответ | Сообщение |
|
Создано: 03 февраля 2006 18:49 · Личное сообщение · #1 Условие: Программа = A.exe + B.dll "A.exe" использует "B.dll" для хранения окон диалогов и строк. Загрузка: Запускаю "A.exe -conf", когда программа запустилась нажимаю "Ctrl+R" открывается окно "Конфигурация". Без параметра "-conf" и нажатия "Ctrl+R" окно не открывается. Вопросы: 1) как отыскать место где обрабатывается "-conf", а также остальные параметры "A.exe". 2) Возможно ли запустить участок кода "A.exe" из SoftIce неиспользуя "Ctrl+R", чтобы окно активизировалось? |
|
Создано: 03 февраля 2006 22:35 · Личное сообщение · #2 |
|
Создано: 04 февраля 2006 08:14 · Личное сообщение · #3 mnb пишет: 1) как отыскать место где обрабатывается "-conf", а также остальные параметры "A.exe". "bpx GetCommandLineA" или "bpx GetCommandLineW" mnb пишет: Без параметра "-conf" и нажатия "Ctrl+R" окно не открывается. Ну, так в чём проблема? Поставь бряк на обработку Ctrl+R или открытие окна (нужно прогу щупать). Тут тебе помогут API-шпионы, я подобные утилитки не использовал, подсказать конкретно не могу. mnb пишет: 2) Возможно ли запустить участок кода "A.exe" из SoftIce неиспользуя "Ctrl+R", чтобы окно активизировалось? Да, для этого тебе нужно найти процедуру окна, там, в конце, обычно DefWindowProcA. Такие вещи проще искать в IDA. Далее в отладчике можно направить switch или изменить переход (в зависимости от реализации). А можно просто подсунуть сообщение о нажатии Ctrl+R. ----- Всем привет, я вернулся |
|
Создано: 06 февраля 2006 13:51 · Личное сообщение · #4 2Klajnor Моя программа маленькая, самодельная, сделана на С. Ее использую для самообучения, а дальше хочу пропатчить игру где схожая проблема. Bitfry если можно, то: 1) Расскажи подробней о работе с "CommandLine, DefWindowProcA"? или дай ссылку. 2) С окном вышла плохая ситуация, а именно: окно не окно, а лишь рисованный скриншот на форме в виде окна, а текст наносимый на скриншот берется из Dll. 3) Как поставить бряк на обработку Ctrl+R или открытие окна. Мне нужен пример по типу "bpx GetCommandLineW". У меня есть идея поставить бряк на чтение памяти где хранится значение параметра "-conf" и на текст для скриншота/окна в Dll, но как это правильно сделать? |
|
Создано: 06 февраля 2006 18:43 · Личное сообщение · #5 The GetCommandLine function returns a pointer to the command-line string for the current process. LPTSTR GetCommandLine(VOID) The DefWindowProc function calls the default window procedure to provide default processing for any window messages that an application does not process. This function ensures that every message is processed. DefWindowProc is called with the same parameters received by the window procedure. LRESULT DefWindowProc( HWND hWnd, // handle to window UINT Msg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); Взято из Delphi. Справочник по Win32 SDK Выложи прогу. На пальцах не умею объяснять, а на конкретной проге попытаюсь |
eXeL@B —› Вопросы новичков —› Как в SoftIce можно открыть нужное мне окно чужой программы? |