Русский / Russian English / Английский

Сейчас на форуме: _MBK_ (+8 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Основной форум —› Как убить окно?
Посл.ответ Сообщение

Ранг: 5.0 (гость)
Статус: Участник

Создано: 3 февраля 2007 05:05 New!
Цитата · Личное сообщение · #1

Собственно есть прога на delphi. Перед запуском появляется окно с кнопкой ОК. Я хочу избавиться от этого окна, чтобы при запуске прога миновало окно и сразу запускалась главная форма. Насколько я правильно понимаю softice работает непосредственно с памятью. Что мне нужно сделать? Найти адрес, по которому выскакивает окно и пропатчить exe-шник по этому адресу? Или что вообще нужно проделать?
P.S. Патч буду писать скорее всего на delphi.


Ранг: 221.8 (наставник)
Статус: Участник

Создано: 3 февраля 2007 05:09 New!
Цитата · Личное сообщение · #2

найти адрес с переходом на месаджбокс и занопить (nop - 90h)его... а вообще в новичках такие темы создовайте...

Ранг: 4.0 (гость)
Статус: Участник

Создано: 3 февраля 2007 05:10 New!
Цитата · Личное сообщение · #3

Osmosis_Johnes
В софт айсе ставиш бряк на MessageBoxA ловиш это окно, затем выписываеш адресс вызова этого окна на бумажечку, в HIEW загружаеш прогу и ищеш вызов этого мессагебокса, затем все зависит от твоей фантазии, можеш занопить этот участок кода, можеш перед ним написать JMP и т.д. и т.п. была бы фантазия.

Ранг: 36.0 (посетитель)
Статус: Участник

Создано: 3 февраля 2007 05:16 New!
Цитата · Личное сообщение · #4

Можно по-другому и проще

Ранг: 4.0 (гость)
Статус: Участник

Создано: 3 февраля 2007 05:17 New!
Цитата · Личное сообщение · #5

atoll
Например?


Ранг: 155.4 (ветеран)
Статус: Участник
Робо-Алкаш

Создано: 3 февраля 2007 05:34 New!
Цитата · Личное сообщение · #6

Sign of Misery и ничего патчить не нада.. как раз для тебя


Ранг: 264.0 (наставник)
Статус: Участник
Vanilla Sky

Создано: 3 февраля 2007 05:37 New!
Цитата · Личное сообщение · #7

Используйте силу - т.е. "Убирает баннер в BuddyPhone 2 by PIRO"

Ранг: 36.0 (посетитель)
Статус: Участник

Создано: 3 февраля 2007 05:57 New!
Цитата · Личное сообщение · #8

Red_bit Например-обработчик сообщений

Ранг: -4.4 (нарушитель)
Статус: Участник

Создано: 3 февраля 2007 06:25 New!
Цитата · Личное сообщение · #9

Osmosis_Johnes пишет:
Как убить окно?


Ассоциация ведущих собаководов рекомендует молоток. Любое окно убивается с первой попытки!


Ранг: 161.0 (ветеран)
Статус: Участник

Создано: 3 февраля 2007 10:27 New!
Цитата · Личное сообщение · #10

Grim Fandango пишет:
Используйте силу - т.е. "Убирает баннер в BuddyPhone 2 by PIRO"

Ну ты дал же пример как убрать окно в проге =) После этого Osmosis_Johnes поубивает все окна во всех прогах =) и себя за одно =)


Ранг: 155.4 (ветеран)
Статус: Участник
Робо-Алкаш

Создано: 3 февраля 2007 10:38 New!
Цитата · Личное сообщение · #11

Дык че не выложишь прогу.. наг скрин мешает? выложи - посмотрим.. убьем чыво нада

Ранг: 5.0 (гость)
Статус: Участник

Создано: 4 февраля 2007 05:24 New!
Цитата · Личное сообщение · #12

overwriter пишет:
Дык че не выложишь прогу.. наг скрин мешает? выложи - посмотрим.. убьем чыво нада


У меня таких программ не мало с одним и тем же окном. Хочу сам написать патч, который во всех этих прогах "убил" бы раз и навсегда заветное окно.
А Red_bit-у спасибо за теорию.


Ранг: 264.0 (наставник)
Статус: Участник
Vanilla Sky

Создано: 4 февраля 2007 05:28 New!
Цитата · Личное сообщение · #13

Ну тогда придётся тебе искать последовательность байт одинаковую.... хотя, может быть окошко во всех прогах по одному и тому же адресу расположено. Ты хоть название скажи продуктов. =)

Ранг: 5.0 (гость)
Статус: Участник

Создано: 4 февраля 2007 15:29 New!
Цитата · Личное сообщение · #14

Grim Fandango пишет:
Ну тогда придётся тебе искать последовательность байт одинаковую.... хотя, может быть окошко во всех прогах по одному и тому же адресу расположено.


Вот я тоже надеюсь, что это окно будет по одному и тому же адресу в разных exe-шниках...будем пробовать...

Ранг: 5.0 (гость)
Статус: Участник

Создано: 6 февраля 2007 04:58 New!
Цитата · Личное сообщение · #15

MessageBoxA - не помогает. У меня не окно типа MessageBox, а небольшая формочка с кнопкой ОК, по нажатию на которую окно исчезает и появляется другое окно. Мне необходимо поставить бряк на первое окно с кнопкой ОК и в последствии избавиться от него. Какое имя брекпоинта на обычное окно-форму (написана на delphi)???

Ранг: 36.0 (посетитель)
Статус: Участник

Создано: 6 февраля 2007 05:04 New!
Цитата · Личное сообщение · #16

Osmosis_Johnes Уже выкладывать нужно что бы посмотреть.

Ранг: 214.1 (наставник)
Статус: Участник

Создано: 6 февраля 2007 05:20 New!
Цитата · Личное сообщение · #17

Osmosis_Johnes ShowWindow пробуй or CreateWindow

Ранг: -6.8 (нарушитель)
Статус: Участник

Создано: 6 февраля 2007 10:14 New!
Цитата · Личное сообщение · #18

Osmosis_Johnes конечно, это не тот способ к которому ты стремился,
Но не придётся даже ничего NOP ить

Не крутой способ, но работает частенько.

Открываешь программу в Resource Hacker'е
Ищешь окошко со своей кнопкой "Ок"
Вот пример:

object btnOK: TBitBtn <-(Наша кнопка)
Left = 13
Top = 244
Width = 98
Height = 24
Caption = 'Ок'
Font.Charset = RUSSIAN_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 5
OnClick = btnOKClick <-(Действие которое происходит по нажатию кнопки "Ок")
Kind = bkOK
end

Подписываешь в конец всего на данной форме вот это таймер

object TmОк: TTimer
Enabled = True
Interval = 1
Left = 10
Top = 10
OnTimer = btnOKClick <-(Действие которое происходит по нажатию кнопки "Ок")
end

И получится что окно открывается и по истечению данного интервала Interval = 1 будет происходить то же самое если бы ты сам нажал кнопку

Ранг: 5.0 (гость)
Статус: Участник

Создано: 9 февраля 2007 09:52 New!
Цитата · Личное сообщение · #19

Да, это конечно способ хороший, но resource hacker вообще не показал мне свойства именно этого окна.
Softice-ом я поймал на showwindow это окно: 004589DE CALL USER32! ShowWindow
Теперь подскажите пожалуйста что с помощью HIEW прописать в exe-шнике по этому адресу? и в каком лучше виде редактировать (т.е. битовый? word? dword?)


Ранг: 107.6 (ветеран)
Статус: Участник

Создано: 10 февраля 2007 01:17 · Поправил: Gambit New!
Цитата · Личное сообщение · #20

Над call есть 4 команды push - занопь их, а потом и сам call занопь.
Osmosis_Johnes пишет:
и в каком лучше виде редактировать

А в каком тебе удобней Практика, практика и еще раз практика (нет... сначала: теория, теория и еще раз теория...)

Ранг: -6.8 (нарушитель)
Статус: Участник

Создано: 10 февраля 2007 23:21 New!
Цитата · Личное сообщение · #21

Выложи уже... советовать будет прощще

Ранг: 54.0 (постоянный)
Статус: Участник

Создано: 11 февраля 2007 06:40 · Поправил: n1kto New!
Цитата · Личное сообщение · #22

Osmosis_Johnes пишет:
Softice-ом я поймал на showwindow это окно: 004589DE CALL USER32! ShowWindow

если прога на дельфи, это тебе практически ничего не даст. тебе надо отловив showwindow подняться вверх по стеку до кода который обращается к объекту формы (наследнику TForm); получить адрес конкретной формы (где лежит указатель на нее) а затем отловить TForm.create (скорее всего первая запись по этому адресу) и плясать уже отсюда. далее ищутся обращения к этой форме и они уже нопятся. идея, думаю, ясна.
 eXeL@B —› Основной форум —› Как убить окно?

Видеокурс ВЗЛОМ