информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsАтака на InternetВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / beginners
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
Только что попробовал 08.02.04 18:18  Число просмотров: 1240
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
На том же примере. Брейкпоинт срабатывает независимо от контекста, в котором он ставился.

> Есть еще варианты?
Один из вариантов: ты все таки неверно понял какая функция выдает бокс.
Второй: если прога твоя, поставь в начало int 3 (а если не твоя - то вероятность того, что ты неверно понимаешь какая именно функция выдает мессидж бокс очень высока)
Третий: не знаю как там сайс обрабатывает свои брыкпойнты, но может user32 в твоем контексте отображается по другому адресу и поэтому перенесена (copy-on-write) а точка прерывания остается на другой странице.

> Если нет, большая просьба написать. Тогда я не буду долго
> ждать и поставлю win98.
Эт ты зря :-) Но отговаривать не стану - каждый имеет право извращаться, если это не нарушает права других :-)

> Правда было это уже давно, но помню что на брэкпоинты
> реагировал идеально.
Я потестил токшо. Тоже идеальная реакция
<beginners>
soft ice не ловит breakpoint. 06.02.04 00:53  
Автор: ANONIM Статус: Незарегистрированный пользователь
<"чистая" ссылка>
soft ice не ловит breakpoint.
bpx MessageBoxA
soft ice не ловит breakpoint. 06.02.04 00:57  
Автор: ANONIM Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> soft ice не ловит breakpoint.
> bpx MessageBoxA
Я напишу более подробно:
softice 4.5
win2k
ctrl+D
bpx MessageBoxA //messageboxa, messageboxA, MessageBoxW и т.д
ctrl+D

прога:
MessageBox (0, "Text", "Text", MB_OK);

Хрен.
Не ловит. что не так?
Про такую версию - ничего не слышал. 09.02.04 15:11  
Автор: Neznaika <Alex> Статус: Member
<"чистая" ссылка>
> softice 4.5
>
Про такую версию - ничего не слышал.
У меня v4.05.526 очень устойчиво работает на Win2K.

Можно проверить следующее:
1) Какой сервис пак на Win2K?
(по моим наблюдениям, SoftICE надо ставить после всех сервис паков и апдейтов)

2) Какой "Startup Mode" у SoftICE?
(Boot, System, Automatic, Manual)

3) Что говорит "Symbol Loader"?
(если все нормально, то в правом нижнем углу он должен показывать "SoftICE is active")

4) Поставь bpx на что-нибудь еще - LoadLibraryA, GetModuleHandleA -
и запусти несколько копий Windows Explorer. Если не ловится, значит SoftICE неверно установился.
Про такую версию - ничего не слышал. 10.02.04 15:00  
Автор: ANONIM Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > softice 4.5
> >
> Про такую версию - ничего не слышал.
> У меня v4.05.526 очень устойчиво работает на Win2K.
Виноват: SoftIce 4.0.5 build 334

> Можно проверить следующее:
> 1) Какой сервис пак на Win2K?
> (по моим наблюдениям, SoftICE надо ставить после всех
> сервис паков и апдейтов)
3 сервис пак. Ставил сразу вместе с виндой. Т.е. софтайс ставился последним.
>
> 2) Какой "Startup Mode" у SoftICE?
> (Boot, System, Automatic, Manual)
Пробовал Boot, и System
> 3) Что говорит "Symbol Loader"?
> (если все нормально, то в правом нижнем углу он должен
> показывать "SoftICE is active")
Ничего не говорит. А что у него спросить? чтобы он сказал.

> 4) Поставь bpx на что-нибудь еще - LoadLibraryA,
> GetModuleHandleA -
> и запусти несколько копий Windows Explorer.
> Если не ловится, значит SoftICE неверно установился.
Он вообще на брейкпоинты не реагирует.
Что значит неверно? А как верно?
Попробуй сделать Startup Mode = Automatic 10.02.04 17:18  
Автор: Neznaika <Alex> Статус: Member
<"чистая" ссылка>
> 3 сервис пак. Ставил сразу вместе с виндой.
>
А система какая - Eng / Rus?

В любом случае, попробуй сделать Startup Mode = Automatic.
Тебе же не надо сразу - драйвера устройств отлаживать.

> > 3) Что говорит "Symbol Loader"?
> Ничего не говорит. А что у него спросить? чтобы он сказал.
>
Просто запускаем
Start -> Programs -> NuMega SoftICE Driver Suite -> SoftICE -> Symbol Loader
и смотрим, что у него в правом нижнем углу.

> Он вообще на брейкпоинты не реагирует.
> Что значит неверно? А как верно?
>
Неверно - это как раз и значит, что на брейкпоинты не реагирует.

Если все нормально, то после bpx GetModuleHandleA -
окно SoftICE будет выскакивать по нескольку раз при запуске каждой программы.

Но сначала все-таки Subj
Поставь лучше SoftIce Driver Suite 10.02.04 17:06  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> > Про такую версию - ничего не слышал.
> > У меня v4.05.526 очень устойчиво работает на Win2K.
> Виноват: SoftIce 4.0.5 build 334
Все равно старовата. Не поставить бы тебе Driver Suite

> > 3) Что говорит "Symbol Loader"?
> > (если все нормально, то в правом нижнем углу он должен
> > показывать "SoftICE is active"
)
> Ничего не говорит. А что у него спросить? чтобы он сказал.
Внимательнее читай :-)
Но вообще-то, если у тебя получается зайти и поставить bp, то он-таки запущен :-)


> > 4) Поставь bpx на что-нибудь еще - LoadLibraryA,
> > GetModuleHandleA -
> > и запусти несколько копий Windows Explorer.
> > Если не ловится, значит SoftICE неверно установился.
> Он вообще на брейкпоинты не реагирует.
> Что значит неверно? А как верно?
А хрен знает, вот у 4.05 например были БОЛЬШИЕ проблемы с виндой XP. Даже патч специальный был, который заставлял работать. Мож с новыми SP-ками он тоже работать отказывается. Поставь сайс поновее. У меня SICE Driver Suite 2.6 (хотя я уже о 3.0 бета слышал)
А ты уверен, что используется именно ANSI-версия [upd] 06.02.04 11:50  
Автор: amirul <Serge> Статус: The Elderman
Отредактировано 06.02.04 11:52  Количество правок: 1
<"чистая" ссылка>
> > soft ice не ловит breakpoint.
> > bpx MessageBoxA
Вполне возможно, что включен юникод, тогда MessageBoxW
-----------------
Фигня это ^^^^^^^^

На самом деле сайс делает глобальными только брыкпойнты с адресом >0x80000000
Все остальные срабатывают только в контексте того процесса, в котором ставились (контексты переключаются командой addr)
юникод не включен. 06.02.04 12:06  
Автор: ANONIM Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Вполне возможно, что включен юникод, тогда MessageBoxW
> -----------------
юникод не включен.
> На самом деле сайс делает глобальными только брыкпойнты с
> адресом >0x80000000
> Все остальные срабатывают только в контексте того процесса,
> в котором ставились (контексты переключаются командой addr)
А в каком контексте я их ставлю, исходя из предыдущей моей месаги.

Если не в лом поподробнее.
Вот есть прога из одной строки
MessageBox (0, "text", "text", MB_OK);
Т.е. когда она запускается сразу же выскакивает MessageBox.
Как его отлавить. Прога то ведь пока не запущена процесс не создан.
Соответсвтенно (исходя из ваших слов) поставить брэкпоинт в контексте
этого процесса я не могу.
В данном случае все решается довольно просто 06.02.04 14:00  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Если не в лом поподробнее.
> Вот есть прога из одной строки
В своей проге можно вставить
#ifndef NDEBUG
__asm int 3
#endif

А в сайсе сделать i3here

> MessageBox (0, "text", "text", MB_OK);
> Т.е. когда она запускается сразу же выскакивает MessageBox.
> Как его отлавить. Прога то ведь пока не запущена процесс не
> создан.
> Соответсвтенно (исходя из ваших слов) поставить брэкпоинт в
> контексте
> этого процесса я не могу.
Если ты поставишь брейкпойнт в этом процессе при первом запуске, то при втором запуске - она сработает. Насколько я понимаю, брейкпоинты связываются не идентификатором контекста, а с именем запущенного модуля. То бишь:
запускаете приложение
Ctrl+D
addr <название_или_адрес_процесса>
bpx MessageBoxA
F5
перезапускате приложение

Вроде должно работать
До сих пор не работает. 07.02.04 00:13  
Автор: ANONIM Статус: Незарегистрированный пользователь
<"чистая" ссылка>
До сих пор не работает.
Прога называется test.exe, со строкой описанной раньше.
Запускаю test.exe
Вываливается MessageBox.
Не жму "ок", нажимаю ctrl+D.
набираю addr и enter.
выводит список процессов где в конце test
пишу addr test
F5
Нажимаю ok в MessageBox'е.
Запускаю test.exe

Нифига.
Есть еще варианты?
Если нет, большая просьба написать. Тогда я не буду долго ждать и поставлю win98.
Правда было это уже давно, но помню что на брэкпоинты реагировал идеально.
Только что попробовал 08.02.04 18:18  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
На том же примере. Брейкпоинт срабатывает независимо от контекста, в котором он ставился.

> Есть еще варианты?
Один из вариантов: ты все таки неверно понял какая функция выдает бокс.
Второй: если прога твоя, поставь в начало int 3 (а если не твоя - то вероятность того, что ты неверно понимаешь какая именно функция выдает мессидж бокс очень высока)
Третий: не знаю как там сайс обрабатывает свои брыкпойнты, но может user32 в твоем контексте отображается по другому адресу и поэтому перенесена (copy-on-write) а точка прерывания остается на другой странице.

> Если нет, большая просьба написать. Тогда я не буду долго
> ждать и поставлю win98.
Эт ты зря :-) Но отговаривать не стану - каждый имеет право извращаться, если это не нарушает права других :-)

> Правда было это уже давно, но помню что на брэкпоинты
> реагировал идеально.
Я потестил токшо. Тоже идеальная реакция
Если у тебя так работает, значит дело в каких-то... 08.02.04 23:56  
Автор: ANONIM Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> На том же примере. Брейкпоинт срабатывает независимо от
> контекста, в котором он ставился.
Если у тебя так работает, значит дело в каких-то настройках.

> > Есть еще варианты?
> Один из вариантов: ты все таки неверно понял какая функция
> выдает бокс.
> Второй: если прога твоя, поставь в начало int 3 (а если не
> твоя - то вероятность того, что ты неверно понимаешь какая
> именно функция выдает мессидж бокс очень высока)
> Третий: не знаю как там сайс обрабатывает свои брыкпойнты,
> но может user32 в твоем контексте отображается по другому
> адресу и поэтому перенесена (copy-on-write) а точка
> прерывания остается на другой странице.
Думаю что все это не совсем подходит. (Прога моя, но как я говорил она состоит из одной строчки, и сделал я ее исключительно для теста).
Если у него (софтайса) с простым mressagebox'ом проблемы то что же будет,
когда я буду отлаживать серьезную прогу.
рулит 10.02.04 23:03  
Автор: ANONIM Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Amirul & Neznaika Большое спасибо за участие к моей проблеме.
Automatic - и он откликнулся! ! ! ! ! !
Не зря таки тема в beginner'сах.
Но как говорит шеф: Куй железо не отходя от кассы.
Вообщем когда ловишь брейкпоинт, то он показывает какой-то не тот адрес,
потому что в hiew(Hex редактор), это смещение вообще выходит за границы
файла. Куда глядеть чтобы вычислить смещение относительно начала файла.


Дык MessageBoxA находится в user32.dll 11.02.04 00:09  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Automatic - и он откликнулся! ! ! ! ! !
Не знал о таком методе лечения. У меня он по жизни в manual стоит.

> Вообщем когда ловишь брейкпоинт, то он показывает какой-то
> не тот адрес,
> потому что в hiew(Hex редактор), это смещение вообще
> выходит за границы
Дык правильно. Сама то функция находится в другом модуле.

> файла. Куда глядеть чтобы вычислить смещение относительно
> начала файла.
Смотри в user32.dll, чаще всего она вписывается именно в тот базовый адрес, под который компилировался. То бишь, адрес, который покажет hiew для messageboxa должен быть таковым и в адресном пространстве процесса.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach