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

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

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

Создано: 06 января 2011 12:18
· Личное сообщение · #1

Добрый день!
Имеется приложение написанное на MSVisual C++ , все диалоговые окна вызываются через внутреннюю фунцию MsgBox(...) , подскажите пожалуйста каким образом можно отловить эту функцию отладчиком. Устонавка бряков на подобные API функции результата не дает((
Заранее спс!!




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

Создано: 06 января 2011 12:24
· Личное сообщение · #2

попробуй поставь бряк на GetDlgItemW

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





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 06 января 2011 12:31
· Личное сообщение · #3

На подобные-это какие? Поставь на ShowWindow. И софт выложи.



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

Создано: 06 января 2011 12:41
· Личное сообщение · #4

Подобные это MessageBox, MessageBoxA.
Вот собственно софт... www.sharemania.ru/0229269
Это клиент одной онлайн игры , никак не могу разобраться как реализованы окна( и диалоги



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

Создано: 06 января 2011 12:45
· Личное сообщение · #5

Как я понимаю все вызовы идут через mfc71.dll,msvcp60.dll,msvcr71.dll но какая именно функция за диалоги отвечает не пойму(



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

Создано: 06 января 2011 17:58
· Личное сообщение · #6

А интересно, Аквила перевел(а) несколько примеров отлома софта и все почувствовали себя хеккерами. Матчасть товарищи учить нужно, тогда и никакие примеры не нужны. В противном случае вы и будите генерить пачками подобные вопросы.

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

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

Создано: 06 января 2011 20:31
· Личное сообщение · #7

alexolo
диалоги, окна - user32.dll
Отдельно:
MessageBoxA -ASCIIZ строки, MessageBoxW -UNICODE строки
mfc71.dll-AfxMessageBox (wrapper верхних двух для MFC)



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

Создано: 07 января 2011 09:36
· Личное сообщение · #8

Вот собственно весь импорт по модулю USER23
USER32.ActivateKeyboardLayout
USER32.CallNextHookEx
USER32.CallWindowProcA
USER32.CharNextExA
USER32.ClipCursor
USER32.CloseClipboard
USER32.CreateWindowExA
USER32.DefWindowProcA
USER32.DestroyWindow
USER32.DispatchMessageA
USER32.EmptyClipboard
USER32.FillRect
USER32.GetAsyncKeyState
USER32.GetClientRect
USER32.GetCursorPos
USER32.GetDC
USER32.GetDoubleClickTime
USER32.GetForegroundWindow
USER32.GetKeyboardLayout
USER32.GetKeyboardLayoutList
USER32.GetKeyState
USER32.GetWindowRect
USER32.GetWindowTextA
USER32.IntersectRect
USER32.LoadCursorA
USER32.LoadIconA
USER32.MapVirtualKeyA
USER32.MessageBoxA
USER32.MoveWindow
USER32.OpenClipboard
USER32.PeekMessageA
USER32.PostQuitMessage
USER32.RegisterClassExA
USER32.ReleaseDC
USER32.ScreenToClient
USER32.SendMessageA
USER32.SetClipboardData
USER32.SetCursor
USER32.SetFocus
USER32.SetRect
USER32.SetWindowLongA
USER32.SetWindowsHookExA
USER32.SetWindowTextA
USER32.ShowWindow
USER32.TranslateMessage
USER32.UpdateWindow
USER32.wsprintfA



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

Создано: 07 января 2011 09:39
· Личное сообщение · #9

Вот один из скриптов в котором вызывается MsgBox()
---------------------------------------------------------------------- --
func UI_HOT_TOGGLE_GROUPINFO()
{
var joined = GroupJoined();

if( joined == 'NO' ) {
MsgBox("(#?)0033310(##)В настоящее время вы не входите ни в одну группу. (?#)");
} else {
Toggle('groupinfo');
}
}




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 07 января 2011 10:23
· Личное сообщение · #10

Тебе уже сказали, поставь на ShowWindow и поднимись вверх по стеку.
И пользуйся кнопкой Правка, не надо подряд посты ляпать.



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

Создано: 07 января 2011 10:34 · Поправил: alexolo
· Личное сообщение · #11

ShowWindow не работает( и вообще постоновка бряков на WinAPI не работает.. Придеться аппаратные на память ставить и рыть код..



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 07 января 2011 10:37
· Личное сообщение · #12

Вызови мессадж, нажми Pause->Alt+F9,потом жми ок на мессадже и ты выскочишь сразу за местом где он вызвался (ну или после Alt+F9 ты окажешься в цикле показывающем мессадж) .
Ну или накрайняк выложи SpeedTreeRT.dll чтоб можно было понять о чем идет речь.



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

Создано: 07 января 2011 11:19 · Поправил: Модератор
· Личное сообщение · #13

SpeedTreeRT
----> http://www.sharemania.ru/0125168

Попытаюсь обьяснить задачу подробнее...
Имеется следующий код описывающий само окно...
...................................................................... .........................
<?xml version="1.0" encoding="CP1251-windows"?>


<uiframe name="(#?)0010254(##)Волшебство предмета (?#)" class="gambleitem" x="0" y="0" width="307" height="220" align="center center" sound="sys_ui_open.wav" DefaultSettingScp="OP_RESET_DEFAULTSETTING">
<imgbutton name="CLOSE" rect="-7 7 15 15" img="\skin\button.bmp" imgrect="0 57 15 15" alignx="right" aligny="top" LBtnUpScp="CancelResetOption()"/>
<text name="Enchant" caption="(#?)0010255(##)Какой предмет вы хотите сделать волшебным? (?#)" rect="0 40 10 10" alignx="center"/>
<itembox name="Item1" rect="80 80 150 32" drawname="true" namemargine="10" fontname="white_14_ol" DropScp="OP_RESET_COUON_DROP" LBtnDblClickScp="CLEAR_ITEM_BOX"/>
<itembox name="Item2" rect="80 130 150 32" drawname="true" namemargine="10" fontname="white_14_ol" DropScp="OP_RESET_EQUIP_DROP" LBtnDblClickScp="CLEAR_ITEM_BOX"/>
<itembox name="GambleAddOn" rect="245 100 35 35" drawhotkey="false" fontname="white_14_ol"/>
<imgbutton name="GMBL_UP" rect="250 137 12 12" img="skin\button.bmp" imgrect="279 110 12 12" LBtnUpScp="OP_SET_ADDON" LBtnDownSE="sys_uibottonclick1.wav" LBtnUpArg="None"/>
<imgbutton name="GMBL_DOWN" rect="263 137 12 12" img="skin\button.bmp" imgrect="279 123 12 12" LBtnUpScp="OP_DEL_ADDON" LBtnDownSE="sys_uibottonclick1.wav" LBtnUpArg="None"/>
<text name="Title_Item1" caption="(#?)0010256(##)Жетон улучшения (?#)" rect="-15 0 10 10" target="Item1" alignx="left" aligny="center"/>
<text name="Title_Item2" caption="(#?)0010257(##)Снаряжение (?#)" rect="-12 0 10 10" target="Item2" alignx="left" aligny="center"/>
<button name="ok" caption="(#?)0010240(##)Ок (?#)" rect="10 180 100 24" LBtnUpScp="ResetItemOption()"/>
<button name="cancel" caption="(#?)0003153(##)Выйти (?#)" rect="194 180 100 24" LBtnUpScp="CancelResetOption()"/>
<tooltip name="Item1_tip" parent="Item1" caption="Items" width="256"/>
<tooltiprange parentoftooltip="Item1" minx="-1" maxx="-1" miny="-1" maxy="-1" xmlclass="Item" xmlfield="ReqToolTip"/>
<tooltip name="Item2_tip" parent="Item2" caption="Items" width="256"/>
<tooltiprange parentoftooltip="Item2" minx="-1" maxx="-1" miny="-1" ma"256"/>
<tooltiprange parentoftooltip="GambleAddOn" minx="-1" maxx="-1" miny="-1" maxy="-1" xmlclass="Item" xmlfield="ReqToolTip"/>
</uiframe>
...................................................................... ...................................................................... ...............................
Видим, что после нажатия на Ок вызывается некая функция <LBtnUpScp="ResetItemOption()>
Эта функция имеет в себе некие проверки после которых и выводит зловещий MsgBox().
Вся задача состоит в следующем, либо отловить саму ResetItemOption() либо мессадж который выходит если значени не правильное. Вот в этом то и проблемма.




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

Создано: 07 января 2011 11:42
· Личное сообщение · #14

alexolo пишет:
Видим, что после нажатия на Ок вызывается некая функция <LBtnUpScp="ResetItemOption()>Эта функция имеет в себе некие проверки после которых и выводит зловещий MsgBox().


Долго тебе придётся отлавливать "зловещий MsgBox()"




Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 07 января 2011 11:48
· Личное сообщение · #15

Поковырять интерпретатор на анализ аттрибута LBtnUpScp конструкции button.

-----
Следуй за белым кроликом



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


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