Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
|
Насчет MessageBoxA 18.10.04 15:25 Число просмотров: 1567
Автор: Neznaika <Alex> Статус: Member
|
Это может быть не только MessageBoxA, а скажем -
MessageBoxW
MessageBoxExA
MessageBoxExW
DialogBox
DialogBoxParam
CreateDialog
|
<beginners>
|
asm 17.10.04 23:30
Автор: int8h Статус: Незарегистрированный пользователь
|
Я новичок и поэтому вопросы ламерские.
Исследую одну программу. Там есть примерно такие куски
....
push 0
push edx
push ecx
push ebx
call ds: MessageBoxA
cmp eax, 6
jnz loc_1
call loc_2
...
1. Где то я прочитал, что API-функции сами освобождают стэк после окончания работы. Я хочу убрать этот call ds: MessageBoxA, а вместо нее вставить какую-нибудь дрянь типа mov eax, 666h Так вот вопрос в том, если параметры в стэк уже занесены, а функция не вызывается, то надо ли самому чистить стэк или оставить его в покое? Или может нужно убрать все эти push' ы, чтобы не засорять его?
2. Довольно часто сразу же после call ds:MessageBoxA идет call DebugBreak. Это видимо сделано, чтобы отладчик запутать? Можно ли забить эти debugbreak nop'ами ? Если поставить точки останова на вызов MessageBoxA, а после ее вызова стоит debugbreak, это означает, что отладчик не среагирует и не сможет указать, откуда произошел вызов функции?
3. Какая функция отвечает за появление окошка, в котором можно выбрать определенные опции и нажать ок или отмена? Если это MessageBoxA, то почему Softice не ловит точку останова при появлении подобного окошка?
|
|
Насчет MessageBoxA 18.10.04 15:25
Автор: Neznaika <Alex> Статус: Member
|
Это может быть не только MessageBoxA, а скажем -
MessageBoxW
MessageBoxExA
MessageBoxExW
DialogBox
DialogBoxParam
CreateDialog
|
|
push-и убрать. 18.10.04 05:56
Автор: Zef <Alloo Zef> Статус: Elderman
|
> Я новичок и поэтому вопросы ламерские. > Исследую одну программу. Там есть примерно такие куски > > > .... > push 0 > push edx > push ecx > push ebx > call ds: MessageBoxA > cmp eax, 6 > jnz loc_1 > call loc_2 > ... > > 1.
push-и убрать.
> 2. Довольно часто сразу же после call ds:MessageBoxA идет > call DebugBreak.
А это не Сайс ли понаставил? Он иногда их "забывает".
> 3. Какая функция отвечает за появление окошка, в котором > можно выбрать определенные опции и нажать ок или отмена? > Если это MessageBoxA, то почему Softice не ловит точку > останова при появлении подобного окошка?
Дык, возьми Мастдайский DependsWalker и посмотри, че он импортирует.
|
|
|