Сейчас на форуме: vsv1, _MBK_ (+4 невидимых)

 eXeL@B —› Вопросы новичков —› Как определить что выполняется по кнопке?
Посл.ответ Сообщение

Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 21 мая 2007 17:32
· Личное сообщение · #1

Собственно говоря как?Щёлкая по кнопке в исследуемой программе, как определить какой участок выполняется, мне нужно переназначить действия кнопкам т.е. поменять местами функции



Ранг: 105.9 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 21 мая 2007 18:28
· Личное сообщение · #2

Чтобы поменять местами действия кнопок не обязательно лезть в отладчик.
Честно говоря, сам ни разу этого не делал, но научить могу .
Проще всего в каком нибудь редакторе ресурсов поменять ID у кнопок. Это если кнопки находятся в ресурсах и проа ничем не запакована.



Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 21 мая 2007 21:45
· Личное сообщение · #3

Прога - тестовая оболочка, в файле тесте прописано не активная кнопка не пред.вопрос, как предложено кнопка только становится активной действия по ней не происходят. Необходимо в коде изменить назначение. Вопрос остаётся: как определить что срабатывает по нажатию кнопки?



Ранг: 105.9 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 21 мая 2007 21:53
· Личное сообщение · #4

Если прога на Дельфи, то можно засунуть в DeDe или SourceRescuer, и там посмотреть процедуру кнопки. А может быть, что это просто демка и весь код вырезан нафиг.
Сильно большая прога? А то может ссылочку на нее?



Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

Создано: 20 июня 2007 19:57
· Личное сообщение · #5

А возможно это сделать используя только olly ??



Ранг: 18.3 (новичок)
Активность: 0.010
Статус: Участник

Создано: 21 июня 2007 00:52
· Личное сообщение · #6

Ищем функцию создания окошка или диалога или кнопки. Один из параметров это оконная процедура обработки сообщений. Смортим что делает программа при получении нужного сообщения нажатия кнопки.
Почитайте Уроки Iczelion'а
wasm.ru/publist.php?list=1



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 21 июня 2007 01:57
· Личное сообщение · #7

Wild_One пишет:
Смортим что делает программа при получении нужного сообщения нажатия кнопки.

Правильно.
И для этого существуют специальные мониторы (сканеры, шпионы). Например: Winspector, WinSpy, WinLirc, Girder Последние два ещё и отправлять сообщения умеют допустим, при нажатии кнопок мышки, пульта ДУ или просто клавы (нужны доп. плагины).

-----
Всем привет, я вернулся




Ранг: 105.9 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 23 июня 2007 15:41
· Личное сообщение · #8

А вот еще такой вопрос. С оконными процедурами вроде бы понятно. А как быть с диалоговыми окнами? То есть там ведь те же кнопки не создаются отдельно и не имеют своих процедур. И как определить какой кнопке какой код соответствует?



Ранг: 18.3 (новичок)
Активность: 0.010
Статус: Участник

Создано: 23 июня 2007 23:04
· Личное сообщение · #9

Элементы диалогового окна содержатся в ресурсах файлов. ExeScope, Restorator etc. тебе в помощь.
Кнопки создаются в недрах системы. В программе же вызывается обычно DialogBoxIndirect, DialogBoxIndirectParam,DialogBoxParam, CreateDialog*.
Отлавливаешь SendDlgItemMessage. Один из параметров - идентификатор объекта внутри диалога. Его можно посмотреть опять же в редакторе ресурсов. Ну ставишь бряк и отслеживаешь какой код выполняется.



Ранг: 24.5 (новичок)
Активность: 0.060
Статус: Участник

Создано: 24 июня 2007 01:25
· Личное сообщение · #10

Извините что влазию в эту тему.. но она мне показалось более подходящей..

Меня вот что интересует.. вот я хочу например сделать что то вроде оболчки для программы. чтоб автоматизировать несколько нажатий на кнопки и например выбор из таблицы 1 стору.. допустим..

Как мне это можно выполнить, тоесть что для этого нужно. если не трудно то не могли бы вы мне намекнуть что для этого требуется



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 24 июня 2007 06:30
· Личное сообщение · #11

Gluk пишет:
Как мне это можно выполнить, тоесть что для этого нужно. если не трудно то не могли бы вы мне намекнуть что для этого требуется


Если нужен скрипт, то лучше Girde не найти.
Если хочешь сам кодить, то надо просто отправить нужному окну нужное сообщение(я) и всё.
Хотя, если, например, это строка контрола ListView, будет чуть сложнее.

-----
Всем привет, я вернулся




Ранг: 18.3 (новичок)
Активность: 0.010
Статус: Участник

Создано: 24 июня 2007 09:55
· Личное сообщение · #12

Gluk почитай тут: www.xakep.ru/magazine/xa/090/116/1.asp
Там про взлом клиента вебмани путем автоматического "нажатия" кнопок. Но принцип тот же.



Ранг: 24.5 (новичок)
Активность: 0.060
Статус: Участник

Создано: 25 июня 2007 15:09
· Личное сообщение · #13

Спасибо за помощь!! Сегодня буду разбератся!!


 eXeL@B —› Вопросы новичков —› Как определить что выполняется по кнопке?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати