информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование 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
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
А вы товарищ извращенец на асме под вынь... 11.12.02 07:43  Число просмотров: 1318
Автор: 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-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach