Консультация № 32028
22.12.2005, 20:37
0.00 руб.
0 4 1
Доброго времени суток уважаемые эксперты!
Возникло несколько вопросов, хотел бы получить на них ответы:
1. При сканировании портов на компьютере можно точно определить открытые TCP порты, а UDP не всегда, это так?
Если да то приведите пожалуйста пример создания UDP сокета, который бы откликался только на определенный UDP пакет.
Если такое возможно и с TCP, то приведите пожалуйста пример на создание сокета TCP, откликаюшегося на определенный пакет.
2. DLL-динамическая библиотека, обеспечивает экономию на диске или в памяти? Просто раньше думал, что dll загружается в память и все процессы обращаются к ней, а недавно прочитав статью появились сомнения, неужели к каждому процессу грузиться одна и таже библиотека? (имеется ввиду стандартные виндовские user32, kernel32 и т.д.) То есть это же нерациональное использование памяти!
Спасибо тем кто откликнется.

Обсуждение

Неизвестный
22.12.2005, 20:59
общий
это ответ
Здравствуйте, DRS!
2. Дллка на всех одна. При первом обращении длл загружается в память и выполняется DllMain. Все остальные процессы обращаются к уже загруженной библиотеке. Т.е. в памяти висит всего одна длл, которую могут пользовать множество процессов. Система хранит счетчик обращений, когда он = 0, длл выгружается из памяти.
давно
Посетитель
7438
7205
23.12.2005, 10:01
общий
Тебя, наверно, смутили подобные формулировки:...системные библиотеки Kernel32.dll и Ntdll.dll загружаются во всех процессах по одинаковому адресу...После загрузки DLL в память процесса...Авторы имели в виду не загрузку каждый раз новых копий DLL-ек,а отображение уже загруженных модулей в адресноепространство процесса.
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Неизвестный
23.12.2005, 19:08
общий
Ну просто при создании dll с перехватом (в примере это kеrnеl32.dll 2 е русские) она подгружается к каждому процессу и в каждом! меняет первые байты функций, разве нельзя один раз поменять раз dll (соответственно и функция) встречаются один раз в памяти?
давно
Посетитель
7438
7205
23.12.2005, 21:56
общий
Так она один раз и меняет! Только когда загружается.Дальше все вызовы перехваченных API идут через нее, в результате фильтруются logon-ы. Вот и все!
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Форма ответа