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

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

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

Создано: 21 июня 2008 16:46
· Личное сообщение · #1

Всем доброго дня...
Тут столкнулся с такой проблемой... Есть программа... Написан а на Delphi... Не могу отловить момент появления MessageBox'a с сообщением о неправильнйо регистрации..
Пробовал ставить бряки на MessageBox и MessageBoxA... ни один не срабатывает...

Насколько я понимаю для вызова Этих функций надо передать через стек параметры и после этого вызвать.... Или есть другие способы?

Премного благодарен за подсказки....

P.S. сами строковые ресурсы которые отображены на MessageBox внутри EXE присутствуют...




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

Создано: 21 июня 2008 17:15
· Личное сообщение · #2

RusEm пишет:
сами строковые ресурсы которые отображены на MessageBox внутри EXE присутствуют...


Ну так поставь мэмори-бряку на строку, и потом потихоньку наверх... А вообще выложил бы софт, тогда бы поподробней сказал

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





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

Создано: 21 июня 2008 17:21
· Личное сообщение · #3

В дельфи не мессадж боксы, а свой ShowMessage чаще юзается, поюзай лучше декомпиль типа ДеДе. Но если уж решил в ольке, лови ShowWindow.



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

Создано: 21 июня 2008 17:39
· Личное сообщение · #4

Спасибо... бряк на память помог... )))
пошел копать дальше



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

Создано: 21 июня 2008 19:27
· Личное сообщение · #5

Тут возник такой вопрос... нашел по бряку на память нужное место... протрассировал до выхода... поднялся вверх... в общем нашел начало процедуры...
на это место есть куча переходов из всей программы... (как я понял я нашел саму процедуру отрисовки окон информации, а ей уже передаются параметры)
как определить с какого именно адреса заходит?
то есть я ставлю бряк на первую инструкцию процедуры, когда ОЛЯ на нем тормознется как узнать откуда сюда пришли? (протрассированть до выхода не получается, сразу выбрасывает неизвестно куда)
если бы переходили через Call в стеке ведь был бы адрес возврата? Но его там нет. (((
Как можно узнать?



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

Создано: 21 июня 2008 19:56
· Личное сообщение · #6

RusEm
Это можно узнать, если ты выложишь тут прогу и напишешь, какой имеено MessageBox ты ловишь



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

Создано: 21 июня 2008 20:27
· Личное сообщение · #7

tihiy_grom, а зачем? Не.... я конечно не спорю, что так будет легче....
Но зачем выкладывать если можно просто подсказать.... так сказать экономия трафика и мне и вам )))




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 21 июня 2008 21:22 · Поправил: coderess
· Личное сообщение · #8

RusEm пишет:
протрассированть до выхода не получается, сразу выбрасывает неизвестно куда)
если бы переходили через Call в стеке ведь был бы адрес возврата? Но его там нет. (((
Как можно узнать?


Может ты трасируешь с заходом в процедуру F7

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




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

Создано: 21 июня 2008 21:34 · Поправил: RusEm
· Личное сообщение · #9

coderess я что F7 от F8 не отличу
ДА нет... я трассирую не заходя в процедуры... то есть просто пытаюсь дотрассировать до выхода (то есть до RET) после прохождения RET меня бросает хз куда... вот и думаю может можно как то узнать откуда зашли стоя на первой инструкции процедуры?




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 21 июня 2008 22:53
· Личное сообщение · #10

RusEm пишет:
Но зачем выкладывать если можно просто подсказать...

А чтобы флуд не разводить с пустыми догадками
Вопрос желательно ставить более полно и приводить программу по возможности

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 22 июня 2008 06:24
· Личное сообщение · #11

Все же юзай ДеДе, там увидишь где вызываецо твой ShowMessage а в отладчике потом посмотрешь что тебе нужно.

-----
xchg dword [eax], eax




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

Создано: 22 июня 2008 16:25
· Личное сообщение · #12

v0id2k пишет:
Все же юзай ДеДе, там увидишь где вызываецо твой ShowMessage а в отладчике потом посмотрешь что тебе нужно.

В том то и дело, что ДЕДЕ в первую очередь заюзал... нет там ни одного вызова ShowMessage....
В этом то вся и проблема



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

Создано: 22 июня 2008 17:01
· Личное сообщение · #13

RusEm
Ну ты ещё страниц 5 подожди советов, а потом начни думать, может всё-таки забить на экономию трафика и тебе и нам, и выложить прогу?




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 22 июня 2008 18:44 · Поправил: MACKLIA
· Личное сообщение · #14

Archer пишет:
В дельфи не мессадж боксы, а свой ShowMessage чаще юзается


В заголовке ShowMessage пишется имя программы ,значит можно поменять имя и посмотреть заголовок ,если он изменился то ShowMessage.Хотя может быть исключение - программа может сначала определить своё имя ,а затем вывести его в заголовке.


RusEm пишет:
ДЕДЕ в первую очередь заюзал... нет там ни одного вызова ShowMessage....


Тебе уже Archer писал ,что попробовать .

Archer пишет:
лови ShowWindow


-----
Что один человек сделал , другой всегда сломать может...




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

Создано: 22 июня 2008 19:54 · Поправил: RusEm
· Личное сообщение · #15

вот сама прога http://link_deleted_by_forum_engine/files/6145085 http://link_deleted_by_forum_engine/files/6145085
не могу отловить сообщение "Dongle not found"

P.S. Забыл сказать, прога была накрыта ExeCryptor'ом



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

Создано: 22 июня 2008 21:23 · Поправил: tihiy_grom
· Личное сообщение · #16

RusEm
Донгл + криптор = самоубийство. Если карты в наличии нет (а там стопудово смарт-карта используется) - то по-моему даже и не стоит пытаться



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

Создано: 22 июня 2008 22:10
· Личное сообщение · #17

tihiy_grom пишет:
Если карты нет (а там смарт-карта) - то по-моему даже и не стоит пытаться

В том то и дело что карта есть... ))) есть также логгер карты... для начала просто пытаюсь снять криптор... Снял его анпакером от RSI.. но теперь выскакивает окно о CRC... (и не понятно это собственное CRC или CRC криптора)..
Поэтому и стал искать MessageBox'ы .... А сообщение о донгле просто привел для примера, как первое окно появляющееся при отсутствии донгла...(это для других учстников)

Таким образом ща первоочередная задача просто заставить работать распакованную прогу с донглом... (как говорил ранее, проблема с CRC)... Поэтому и копаю ShowMessage


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


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