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

 eXeL@B —› Вопросы новичков —› Вопрос как обойти MessageBox в DLL
Посл.ответ Сообщение

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

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

Привет всем. Есть триал DLL, которая при вызове из основной программы выдает на экран сообщение типа MessageBox. Нашел вызов этого окна через IDA "call ds:MessageBoxA". В HEX это выглядит как "FF 15 F4 C9 42 00". Почитав предварительно данный форум понял, что вызов CALL надо как-то забить NOP-ами. Собственно в этом и вопрос - что забить в hex-файл вместо "FF 15 F4 C9 42 00"?



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

Создано: 08 мая 2007 22:02
· Личное сообщение · #2

NOP=90 но лучше не забивать вызов а править переход изза которого появляется messagebox



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

Создано: 08 мая 2007 22:03 · Поправил: vitalya2903
· Личное сообщение · #3

FF 15 F4 C9 42 00 >- 90 90 90 90 90 90

\Veliant опередил



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

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

Veliant пишет:
править переход изза которого появляется messagebox

Как это? Я раньше такого не делал Текст из IDA привожу ниже, нужная строка по номеру .text:0040C7B0:


.text:0040C770 push 0 ; uType
.text:0040C772 push 0 ; lpCaption
.text:0040C774 push 0 ; lpText
.text:0040C776 mov edx, offset unk_42AAFC
.text:0040C77B call sub_427DF3
.text:0040C780 mov edx, (offset aIndianredHcd5c+8)
.text:0040C785 call sub_427DF3
.text:0040C78A call sub_42769C
.text:0040C78F mov ebx, esp
.text:0040C791 add ebx, 8
.text:0040C794 call sub_42751D
.text:0040C799 mov edx, [ebp+var_94]
.text:0040C79F call sub_427DDF
.text:0040C7A4 mov ebx, esp
.text:0040C7A6 add ebx, 8
.text:0040C7A9 call sub_42751D
.text:0040C7AE push 0 ; hWnd
.text:0040C7B0 call ds:MessageBoxA
.text:0040C7B6 push eax
.text:0040C7B7 mov ebx, esp
.text:0040C7B9 mov eax, [ebx+8]
.text:0040C7BC call sub_4260A8
.text:0040C7C1 mov ebx, esp
.text:0040C7C3 mov eax, [ebx+4]
.text:0040C7C6 call sub_4260A8
.text:0040C7CB pop eax
.text:0040C7CC add esp, 8
.text:0040C7CF call sub_4277AF
.text:0040C7D4 jmp loc_40C8B8




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

Создано: 08 мая 2007 22:18
· Личное сообщение · #5

Огромное спасибо Veliant и vitalya2903!!! NOP-ы помогли!




Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 08 мая 2007 23:10
· Личное сообщение · #6

AndeyK
push 0 над call ds:MessageBoxA тоже занопь - а то косяк со стеком может выйти

-----
программистом не рождаются - им умирают



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


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