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

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

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

Создано: 27 февраля 2011 15:41
· Личное сообщение · #1

Не секрет что в 100% программах написанных сегодня уже старые трюки не
работают - типа бряки на GetWindowTextW,GetDlgItemTextW и тп - полное фуфло (некоторые товарищи до сих пор флудят статьями про бряки на эти вызовы - наверное они ломаят проги написанные где то в 1998 -2001). Причина в том что современные проги активно юзают MFC и VCL и чтобы получить текст из окошки
теперь надо вылавливать сообщения WM_GETTEXT и WM_SETTEXT. Поэтому и хочу спросить как в OllyDebug
это сделать.



Ранг: 60.6 (постоянный), 20thx
Активность: 0.070
Статус: Участник

Создано: 27 февраля 2011 16:07
· Личное сообщение · #2

Пороть чушь с таким пафосом, это нечто

| Сообщение посчитали полезным: BoRoV


Ранг: 109.3 (ветеран), 55thx
Активность: 0.060
Статус: Участник
Yes! I_m noob!

Создано: 27 февраля 2011 16:24 · Поправил: [0utC4St]
· Личное сообщение · #3

kapral, может всё же тему надо было создавать в "Вопросы новичков" ?
Там вроде обсуждают такие вопросы...
kapral, для WM_GETTEXT
бряк на CallWindowProcA с параметром WM_GETTEXT
условие [ESP+C] == WM_GETTEXT
s0l, не считаю что топикстартер толстый тролль, скорей новичок, утонувший в тоннах старых статей.

-----
z+7v+/Lq4CAtIO/l8OL76SD44OMg6iDv8O7i4OvzLiCpIMPu7OXwINHo7O/x7u0=




Ранг: 255.8 (наставник), 19thx
Активность: 0.150.01
Статус: Участник
vx

Создано: 27 февраля 2011 17:15 · Поправил: Clerk
· Личное сообщение · #4

[0utC4St]
При посылке из другого приложения WM_SETTEXT вызывается InternalCallWinProc(), она не экспортирутеся. И это довольно сложный вопрос, нужно разбираться в механизмах доставки сообщений. Судя по всему вы тоже нуб товарищ .

kapral
Для разных событий вызываются определённые вектора в таблице теневых колбеков. Для WM_SETTEXT вызывается вектор fnINSTRING() в User32.dll, по сути он заглушка для DispatchClientMessage(). Сюда и следует ставить брейк. Данный вектор будет вызываться для доставки следующих сообщений:
WM_SETTEXT 0x000C
WM_WININICHANGE 0x001A
WM_DEVMODECHANGE 0x001B
EM_REPLACESEL 0x00C2
CB_DIR 0x0145
LB_DIR 0x018D
LB_ADDFILE 0x0196



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 27 февраля 2011 20:48
· Личное сообщение · #5

если текущее окошко с вводом ключика(серийника), то опустив все тонкости можно просто открыть карту памяти процесса и поставить то на секцию кода user32... затем по стеку дойти куда нужно


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


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