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

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

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

Создано: 22 декабря 2006 09:31 · Поправил: Rio
· Личное сообщение · #1

Программа написана на Visual C++, не запакована
дизасмю в Olly

Windows, item 174
Handle=0022031C
Title=Spotlight Demo
Parent=Topmost
Style=94C803C5 DS_ABSALIGN|DS_3DLOOK|DS_SETFONT|DS_MODALFRAME|DS_NOIDLEMSG|DS_SETFORE GROUND|WS_POPUP|WS_CLIPSIBLINGS|WS_VISIBLE|WS_SYSMENU|WS_CAPTION
ExtStyle=00010101 WS_EX_DLGMODALFRAME|WS_EX_WINDOWEDGE|WS_EX_CONTROLPARENT
Thread=Main
ClsProc=77D4759D USER32.DefDlgProcA
Class=#32770
расскажите пожалуйста что это за класс #32770, или где почитать.



Ранг: 33.4 (посетитель), 24thx
Активность: 0.020
Статус: Участник

Создано: 22 декабря 2006 09:46
· Личное сообщение · #2

he DLGTEMPLATE fields are self-explanatory, so I won't elaborate further. Immediately following the DLGTEMPLATE come three variable-length fields: the menu, dialog class, and caption. Each must fall on a WORD boundary. Each can be a null-terminated Unicode string identifying either the name of a MENU resource, the class name to use for the dialog, or the caption. In addition, the menu and class name can have the special value 0xFFFF followed by a 16-bit ID—either the menu resource ID or the ordinal of a predefined system window class. In almost all cases you should use 0x0000 (null string) for the class, which tells Windows® to use the default dialog class (#32770). Most dialogs don't have a menu, so the menu will also be 0x0000 (null string). In code, it looks like this:


msdn.microsoft.com/msdnmag/issues/05/08/CAtWork/



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

Создано: 22 декабря 2006 10:04
· Личное сообщение · #3

Спасибо Redlord, но нельзя ли на русском?
Как? на что ставить breakpoint в Olly или
как найти вызов этого окна в коде или
другие варианты?
подскажите пожалуйста.



Ранг: 33.4 (посетитель), 24thx
Активность: 0.020
Статус: Участник

Создано: 22 декабря 2006 10:32 · Поправил: redlord
· Личное сообщение · #4

адрес:

Windows, item 174
Handle=0022031C
Title=Spotlight Demo
Parent=Topmost
Style=94C803C5 DS_ABSALIGN|DS_3DLOOK|DS_SETFONT|DS_MODALFRAME|DS_NOIDLEMSG|DS_SETFORE GROUND|WS_POPUP|WS_CLIPSIBLINGS|WS_VISIBLE|WS_SYSMENU|WS_CAPTION
ExtStyle=00010101 WS_EX_DLGMODALFRAME|WS_EX_WINDOWEDGE|WS_EX_CONTROLPARENT
Thread=Main
ClsProc=77D4759D USER32.DefDlgProcA
Class=#32770

только бряк нужно ставить с учетом handl'a окна, иначе устанешь останавливаться
поспотри Spy адрес WindowProc




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 22 декабря 2006 10:33
· Личное сообщение · #5

Если нужно найти место откуда вызывается диалог, то кинь программу в редактор ресурсов, узнай номер ресурса, и выполни поиск констант в файле (Hex). Если найдешь много, ставь бряки, при вызове диалога - брякнишся...

-----
-=истина где-то рядом=-





Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 22 декабря 2006 10:49
· Личное сообщение · #6

Можно на CreateWindowExA.
А вообще название класса окна сильно напоминает о какой-то версии MessageBox'a, или другого виндового диалога.



Ранг: 309.8 (мудрец), 21thx
Активность: 0.170
Статус: Участник

Создано: 22 декабря 2006 10:56
· Личное сообщение · #7

F12, а потом alt+K типа call stack... сразу увидишь на чём надо остановиться...

-----
Shalom ebanats!




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

Создано: 22 декабря 2006 11:06 · Поправил: Rio
· Личное сообщение · #8

Спасибо за помощь!
Посмотрите снимок screen
там с помощью WinSight есть данные
на это окно, а то может я что-то не так сформулировал.
Как "с учётом handl'a окна"?
уточню мне нужно убрать это окно
чтобы можно было сохранять файлы
в этой программе нет регистрации есть только
форма с помощью которой отсылаешь данные и получаешь
ключ.
сделал как посоветовал SLV поискал в all intermodulars
MessageBoxIndirectA не нашёл.
прилагаю call stack.rar
посмотрите объясните что не так я
уже убирал nag на дельфи с компонента
TCADxp ограничение,запуск только из дельфи
и просьбу купить компонент, но там всё явно
ищешь строку demo или buy и находишь call
, а тут я просто не знаю откуда начинать
извините но я мало в этом разбираюсь
помогите пожалуйста детальней.
Я думаю убрать для начала этот диалог.

4703_22.12.2006_CRACKLAB.rU.tgz - window.rar



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

Создано: 22 декабря 2006 11:35
· Личное сообщение · #9

прилагаю call stack.rar

3f3a_22.12.2006_CRACKLAB.rU.tgz - callstack.rar



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

Создано: 22 декабря 2006 11:57
· Личное сообщение · #10

Из call stack по F4 я
оказываюсь в CPU
77D5B126 . E8 23000000 CALL USER32.SoftModalMessageBox
а мне нужно узнать откуда из exe совершается прыжок или
вызов.



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

Создано: 22 декабря 2006 16:29
· Личное сообщение · #11

Насколько я понял это диалог. Тогда отлавливай DialogBoxParamA... Или смотри в ИДЕ те же вызовы...




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 22 декабря 2006 16:32
· Личное сообщение · #12

Rio, а может просто саму программу скинешь? С программой куда проще объяснить куда тыкать...

-----
-=истина где-то рядом=-




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

Создано: 22 декабря 2006 22:32
· Личное сообщение · #13

King Sise прав, скинь линк на прогу!



Ранг: 309.8 (мудрец), 21thx
Активность: 0.170
Статус: Участник

Создано: 22 декабря 2006 23:44
· Личное сообщение · #14

> 77D5B126 . E8 23000000 CALL USER32.SoftModalMessageBox
ищи конец этой SoftModalMessageBox и ставь CC на ret, а вообще это простой MessageBox )

-----
Shalom ebanats!




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

Создано: 24 декабря 2006 01:32 · Поправил: Rio
· Личное сообщение · #15

Извините, что сразу не ответил, не соориентировался куда делась моя просьба в форуме, ещё раз прошу
прощения.



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

Создано: 24 декабря 2006 04:18
· Личное сообщение · #16

Rio
Надо внимательно читать ответы.

SLV пишет:
F12, а потом alt+K типа call stack... сразу увидишь на чём надо остановиться...


Вот попробуй как тебе советуют. Когда появиться окно, делаеш как написал SLV. Например, если нажать кнопку "Сохранить" в проге и посмотреть на стек - то
10020FD7 FF15 5CF70C10 CALL DWORD PTR DS:[100CF75C] ; USER32.MessageBoxIndirectA

удачи!



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

Создано: 24 декабря 2006 09:36
· Личное сообщение · #17

Спасибо огромное Всем
кто принимал участие.
буду пробовать.
С Уважением Rio.


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


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