информационная безопасность
без паники и всерьез
 подробно о проекте
Spanning Tree Protocol: недокументированное применениеАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Критическая уязвимость UEFI позволяет... 
 Японский хостинг попросил клиентов... 
 Компрометация eMudhra вынудила... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
А вы товарищ извращенец на асме под вынь... 11.12.02 07:43  Число просмотров: 1527
Автор: 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





Рейтинг@Mail.ru


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