информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Все любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
А вы товарищ извращенец на асме под вынь... 11.12.02 07:43  Число просмотров: 1220
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
а вообще у меня на С++ все пашет, единственная проблема в ХР - при множественном одновременном вызове gethostbyaddr из разных потоков результаты путаются Ж(. (Мот патчи какие это правят)
<programming>
[net] фн. gethostbyname не работает на xp. подскажите... 11.12.02 05:18  
Автор: white Статус: Незарегистрированный пользователь
<"чистая" ссылка>
След.код вызывает фн. gethostbyname.
Данный вызов рабоатет на ВСЕХ ОС, кроме XP
На XP в самой функции происходит ошибка.

lea esi, [Computer] ; \\Computer
; initialisation
push esi
push offset pWSA_struc
push dword ptr 0101h
call WSAStartup
pop esi
inc esi
inc esi

push esi
call gethostbyname ; Данный вызов НЕ РАБОТАЕТ на XP
; в MSDN говорят, что все должно быть ок
cmp eax, 0
je err
; ok
----------
Данный вызов рабоатет на ВСЕХ ОС, кроме XP

Вопрос 1: Как сделать, чтобы работало на XP ?
Вопрос 2: Какой можно использовать аналог данной функции для получения IP удаленной машины?

Спасибо
А вы товарищ извращенец на асме под вынь... 11.12.02 07:43  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
а вообще у меня на С++ все пашет, единственная проблема в ХР - при множественном одновременном вызове gethostbyaddr из разных потоков результаты путаются Ж(. (Мот патчи какие это правят)
[Net] Решение найдено ... может кто-то уже сталкивался с подобным. 11.12.02 14:29  
Автор: white Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> а вообще у меня на С++ все пашет, единственная проблема в
> ХР - при множественном одновременном вызове gethostbyaddr
> из разных потоков результаты путаются Ж(. (Мот патчи какие
> это правят)

Сейчас у меня тоже все пашет. Но косяк все равно имел место быть. Ситуация была в том, что после этого вызова я обращался по нулевосму адресу, а int3 поставил после вызова hethostbyname, но до int3, и когда я нажимал F5, то по идее я ожидал, что сразу после вызова вылетит int3, т.е. ошибок в принципе не должно было быть. Но в винде, видимо, встроены какие-то средства исполнения (просмотра, @#$ знает) дальнейшего алгоритма - в результате у меня нахрен все вылетало, и мне казалось что gethosybyname не возвращает управление.
Код этого всего можно представить в виде след:


<...>
call gethostbyname ; здесь я нажимал F5 (в SI)
int3 ; управление уже не получал

xor edi, edi
mov eax, dword ptr [edi] ; Ошибка доступа

Но если в том же коде вставить ret после вызова int3 - то все работает нормально.
А у тебя случайно не многопроцессораня система или процессор с HyperThreading? 11.12.02 19:53  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
1




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


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