Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 589
от 11.07.2003, 11:40

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 3682
Отправлено ответов: 10791
Активность: 293.0 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Bob Johnson
Статус: Профессиональный
Общий рейтинг: 152
URL: Программирование
[Подробней >>]
Hubba
Статус: Доверительный
Общий рейтинг: 145.28
[Подробней >>]
Евгений Иванов
Статус: Доверительный
Общий рейтинг: 128.57
[Подробней >>]
 
Hangatyr
Статус: Опытный
Общий рейтинг: 114.13
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 107.85
URL: Savage Metal Club - жизнь в стиле рок-н-ролл
Телефон: +7 901 710 3146
[Подробней >>]
Tigran K. Kalaidjian
Статус: Профессиональный
Общий рейтинг: 121.18
URL: Методы оптимизации работы ПК
[Подробней >>]
 
Zedr0n
Статус: Доверительный
Общий рейтинг: 107.69
[Подробней >>]
Beeblebrox
Статус: Профессиональный
Общий рейтинг: 107.73
URL: Beeblebrox / TMA HomePage
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 3645. Добрый день, коллеги. Я хочу написать программу, которая будет протоколировать все загрузки .dll-биб... (ответов: 3)
Вопрос № 3646. Ай-ай-ай.. Ну зачем обманывать. Конечно, вы свиньи (ну, ладно, пусть будет хрюшки), но не обманщики ... (ответов: 3)
Вопрос № 3647. Не, ну я так не играю - писал, понимаешь, весь вечер прогу к вопросу 3598 от Zensora, отправил, а ту... (ответов: 2)
Вопрос № 3649. Здраствуйте уважаемые эксперты! есть диалоговое окно созданное с помощью DialogBoxParam какие есть с... (ответов: 3)
Вопрос № 3650. Здравствуйте, многоуважаемые Эксперты! Я хотел бы у вас проконсультироваться по одному вопросу - чит... (ответов: 3)
Вопрос № 3651. Приветствую ещё раз, эксперты. Огромное спасибо Бобу Джонсону за развёрнутый ответ на предыдущей воп... (ответов: 1)
Вопрос № 3652. Привет всем как програмировать Vesa 2.0 1024x768 32bit знаю что функция 4F09h... (ответов: 3)
Вопрос № 3653. Привет все Для RegisterHotKey нужен хэндл окна, так? А как получить этот самый хендл? GetActiveWind... (ответов: 4)
Вопрос № 3654. Приветствую вас, Коллеги. Как получить отклик от модема после посылки команды (например, ATI0) коман... (ответов: 3)

Вопросов: 9, ответов: 25


 Вопрос № 3645

Добрый день, коллеги.
Я хочу написать программу, которая будет протоколировать все загрузки .dll-библиотек.
Я предполагаю, мне необходимо сделать перехват функций LoadLibraryA и LoadLibraryW.
Не подскажите ли, как это можно осуществить.
Так как для платформ Win9x и WinNT способы могут различатся, меня интересуют методики решения и в том, и в другом случае.
P.S.
Хотелось бы услышать развёрнутый ответ, а не "читай MSDN" - уже читал...
А если кто-то из уважаемых экспертов не удержится и скажет-таки "RTFM", пусть приведёт ссылочку на этот самый FM :)



Вопрос отправлен: 06.07.2003, 11:28
Отправитель: Даниил

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Доброе время суток, Даниил!
> пусть приведёт ссылочку на этот самый FM
По твоему вопросу ни FM, ни просто М нет и быть не может - т.к. manual - это руководство пользователя, т.е. официальное, от фирмы-производителя, а перехват апи что-вот не приветствуется MS (вот странно...).
В общем ситуация такая:
9х: все системные библиотеки находятся в верхней части памяти, куда запись запрещена. При этом эта область памяти одна на все процессы системы, что очень хорошо в твоей ситуации - изменил один раз и в одном месте и все программы будут использовать уже твою функцию. Чтобы изменить данные в этой области можно воспользоваться драйвером, дескриптор сегмента данных в котором позволяет изменять эту область. Другой вариант - перейти на нулевое кольцо (например, как в CIH), загрузить в ds 30h (это стандартный сегмент данных для vxd, но загрузить его на 3-м кольце нельзя), изменить все, что тебе нужно и вернуться обратно.
Теперь о том, как изменять - берешь, например, w32dasm, дизассемблируешь библиотеку kernel32.dll и смотришь, с чего начинается код требуемых функций (кстати, ты забыл еще две с суффиксом "Ex"). Далее определяешь, сколько команд попадают в первые 6 байт и переписываешь их в свою прогу. В исходное место ставишь push xxx ret (это и есть 6 байт, а ххх - это адрес твоего обработчика функции). Если будешь писать драйвер, то имей ввиду, что код функции, которую ты запатчил хоть и будет находиться внутри драйвера, но вызываться будет с 3-м уровнем привелегий! Ну и последнее - для вызова оригинальной функции тебе необходимо выполнить вот те команды, которые ты переписал из оригинального кода, после чего передать управление на следующую команду, например:
push offset ret_addr
_original_commands_
jmp dword ptr [old_func]
ret_addr:
...
В НТ такая штука не пройдет - но там можно патчить соседние процессы, если есть на то права (системные процессы патчить не удастся) - для этого делаешь снапшот модулей выбранного процесса (toolhelp32), находишь среди них kernel32.dll, а главное - его image base, т.е. адрес, по которому он загружен в том процессе (в теории он всегда по одинаковому адресу, но для 100% уверенности лучше сделать так), затем определяешь адрес выбранной тобой функции в этом процессе (я это делал как адрес функции в моем процессе минус image base модуля в моем процессе (т.е. смещение функции от начала модуля) плюс image base модуля в том процессе). Теперь меняешь защиту страниц на read+write+exec (VirtualProtectEx) и пишешь туда свой код (WriteProcessMemory). Если нужна дополнительная память - можешь ее получить с помощью VirtualAllocEx.
Таким образом это вполне возможно, но для одного процесса (либо для каждого отдельно).
Еще есть такой вариант - пишешь dll, которую называешь kernel32.dll, в ней делаешь все функции обычной kernel32.dll как wrapper на скажем kernel32_old.dll (а так ты переименовываешь стандартную), кроме тех, которые будешь патчить (в них пишешь нужный тебе код) и подставляешь ее в систему. Тут недостаток - тебе придется делать по одной dll на каждую версию виндов, и как-то автоматизировать процесс получения экспортируемых функций и создание wrap'ов.

* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---


Ответ отправлен: 06.07.2003, 17:50
Отправитель: Bob Johnson


Отвечает Hubba

Доброе время суток, Даниил!


Ответ отправлен: 07.07.2003, 14:50
Отправитель: Hubba


Отвечает Евгений Иванов

Добрый день, Даниил!
Думаю, HOOK (ловушку) надо делать на подпрограммы:
A hook is a point in the MicrosoftR WindowsR message-handling mechanism
where an application can install a subroutine to monitor the message
traffic in the system and process certain types of messages before they
reach the target window procedure.
HHOOK SetWindowsHookEx(
int idHook, // type of hook to install
HOOKPROC hkprc, // address of hook procedure
HINSTANCE hMod, // handle of application instance
DWORD dwThreadID // identity of thread to install hook for
);


Ответ отправлен: 06.07.2003, 17:24
Отправитель: Евгений Иванов


 Вопрос № 3646

Ай-ай-ай.. Ну зачем обманывать. Конечно, вы свиньи (ну, ладно, пусть будет хрюшки), но не обманщики же. На письма я отвечаю. Правда, на Тигранчика не ответила, но и он тоже должен понимать, что приличная женщина на такие приглашения не отвечает.
> ...девушки ассемблером...
Ну, в принципе, верно, конечно. Но бывают исключения. Я же не зря интересовалась SGWW. Почитайте их журнальчики - разве там нет девушек? И LovinGod симпатяга.. А вспомнить Киевское Фидо.. И-эээ-хх...
> А вдруг это я сам???
Да нет.. До Овода нам с тобой еще далеко, если, конечно, здесь кто-нибудь читал "Овода". А то у вас, наверное, как у Захарова: "Мне едва хватает времени на специальную литературу" ;)))
> ...книгу издать...
Умная мысль. Как закончу с вами регулироваться, обязательно подумаю.
> ...вполне устраивает вариант...
Отвечаю абсолютно серьезно - мне совершенно начихать, отвечаете вы в рассылку на 10тыс подписчиков, либо просто мне на ящик. Мне просто смешно, что вы обвиняете меня в спаме в рассылке, когда вы сами же этот спам и создаете. Другое дело - ваши ящики. Вы не можете поставить фильтр именно на мои вопросы, и не можете заставить меня заткнуться, хотя большинство личных писем пришло именно с такой просьбой (на большинство я и ответила). Но я думаю, что 8Кб моего спама не слишком для вас будут обременительны, потому что, судя по последним 140 выпускам ассемблерной рассылки, у вас там такой бред в ящиках, что куда уж мне. Калашников наступил на все те же извечные психологические грабли: как найти золотую середину между спамом и полезной информацией в открытом сообществе. В Фидо это решалось набором идиотских правил, в других рассылках модераторами, Калашников же возложил ответственность за появление спама на вас. Вот мне и интересно наблюдать, как вы с ней справляетесь. Одни на меня уже плюнули, другие тихо матюкаются, но все же упрямо не отвечают. Остались только ты Бобушка, и Тигранчик. И что с Вами делать, ума не приложу... Сходить с Вами обоими в кафе, что-ли..
> Нам же не платят за...
Ну, ты Тигранчик, даешь. А ты требуй с Калашникова по бутылке водки за каждый ответ. помню, когда-то ваш небезызвестный Валик пытался Калашникову пиво через милицию передать. Ты у него поконсультируйся..



Вопрос отправлен: 06.07.2003, 11:22
Отправитель: Наталья Березовец (stalmk@bk.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Hubba

Добрый день, Наталья Березовец!


Ответ отправлен: 07.07.2003, 14:50
Отправитель: Hubba


Отвечает Hangatyr

Доброе время суток, Наталья Березовец!
>Почитайте их журнальчики - разве там нет девушек?
Нет.
>Но бывают исключения.
Что-то верится с трудом.
>Если, конечно, здесь кто-нибудь читал "Овода"
Ой-ой-ой... Какого вы о нас мнения-то. Представьте себе такие люди имеются. Но позвольте спросить, причем же здесь "Овод"?
>И LovinGod симпатяга
Давно общались?
>Но я думаю, что 8Кб моего спама не слишком для вас будут обременительны
Очнитесь, девушка (или нет?), давно уж за 30 K перевалило...
>Как закончу с вами регулироваться, обязательно подумаю
Обязательно подумай, лучше начать прямо сейчас.
>как найти золотую середину между спамом и полезной информацией в открытом сообществе.
Нет никакой золотой середины. И быть не может, даже в принципе...
>Вот мне и интересно наблюдать, как вы с ней справляетесь.
А зачем с ней справляться-то? По-моему, это никого из подписчиков сильно не задевает. Получать "ответ" от придурка типа этой хубы дело одно, и с этим надо бы бороться, а вот читать то, что вы пишете и что вам отвечают - совсем другое...
И вот еще, почему вас интересуют именно SMF и Stealth?

Ответ отправлен: 06.07.2003, 19:06
Отправитель: Hangatyr


Отвечает Bob Johnson

Здравствуйте, Наталья Березовец!
> Правда, на Тигранчика не ответила, но и он тоже должен понимать, что приличная женщина на такие приглашения не отвечает.
Вот что-то мне кажется, что никакого приглашения там и не было... (да и разве можно говорить о приличии после просьбы об изнасиловании ящика?).
> Да нет.. До Овода нам с тобой еще далеко, если, конечно, здесь кто-нибудь читал "Овода"
К сожалению нет. Я вообще редко книги читаю - еще в школе все время получал "1" по литературе, причем любые (и "специальные"). Но "Да нет" еще ничего не доказывает...
> мне совершенно начихать, отвечаете вы в рассылку на 10тыс подписчиков, либо
Просто не верю. Если бы это было так, то ты могла бы: первое - отправлять персональный вопрос; второе - писать письма сама (я помню адреса тебе тут все оставили). Но удовольствие-то от этого будет не то...
> И что с Вами делать, ума не приложу... Сходить с Вами обоими в кафе, что-ли..
Ага, на катере мы уже покатались...
> А ты требуй с Калашникова по бутылке водки за каждый ответ.
А он тут причем? Это с тебя тогда уж надо требовать :)
> Конечно, вы свиньи (ну, ладно, пусть будет хрюшки)
А раз так, то что в нас тебя так привлекает?

* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---


Ответ отправлен: 06.07.2003, 17:49
Отправитель: Bob Johnson


 Вопрос № 3647

Не, ну я так не играю - писал, понимаешь, весь вечер прогу к вопросу 3598 от Zensora, отправил, а тут оказывается, что оно не дошло... Так что шлю прогу ещё раз. Отступы потерялись, но скопируйте куда-нибудь, всё будет нормально. Всё должно быть понятно, ибо есть комментарии, но если будут вопросы, то пишите на kalaidjian@pochtamt.ru - с удовольствием отвечу. Вообще полезно изучать работу с BOOT-сектором на примере написания вирусов. Туториалы на эту тему есть. Пишите.
P.S. Рассылка с 1-го июля не приходит... Непорядок.


Приложение:


Вопрос отправлен: 06.07.2003, 12:41
Отправитель: Tigran Kalaidjian (kalaidjian@pochtamt.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Hubba

Добрый день, Tigran Kalaidjian!


Ответ отправлен: 07.07.2003, 14:50
Отправитель: Hubba


Отвечает Bob Johnson

Добрый день, Tigran Kalaidjian!
Ну раз еще никто не ответил...

* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---


Ответ отправлен: 06.07.2003, 17:49
Отправитель: Bob Johnson


 Вопрос № 3649

Здраствуйте уважаемые эксперты!
есть диалоговое окно созданное с помощью DialogBoxParam
какие есть существующие способы сделать так, чтобы когда окно находится в состоянии MINIMIZED с помощью горячей клавиши (например F7) можно было выполнить какие-либо действия?
Заранее благодарен. Опишите пожалуйста поподробнее



Вопрос отправлен: 06.07.2003, 16:27
Отправитель: ?

[Следующий вопрос >>] [Список вопросов]

Отвечает Hubba

Приветствую Вас, ?!


Ответ отправлен: 07.07.2003, 14:50
Отправитель: Hubba


Отвечает Bob Johnson

Приветствую Вас, ?!
1. RegisterHotKey.
2. Хук на WH_KEYBOARD или аналогичный.

* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---


Ответ отправлен: 06.07.2003, 23:46
Отправитель: Bob Johnson


Отвечает Gibbel

Доброе время суток, ?!
Копай MSDN в сторону RegisterHotKey() / UnregisterHotKey() / WM_HOTKEY

Ответ отправлен: 07.07.2003, 11:29
Отправитель: Gibbel


 Вопрос № 3650

Здравствуйте, многоуважаемые Эксперты!
Я хотел бы у вас проконсультироваться по одному вопросу - читаю туториалы Iczelion'а, дошел до места где описываются способы использования диалогового окна в качестве главного, так вот хочу узнать как можно окну созданному с помощью DialogBoxParam присвоить иконку (ту, которая в системном меню)? Это задается в ресурсах или еще как нибудь? Извините за беспокойство.



Вопрос отправлен: 06.07.2003, 18:29
Отправитель: Alex_osipov (alex_osipov@bk.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Евгений Иванов

Приветствую Вас, Alex_osipov!
Попробуй эту функцию с GCL_HICON:


Приложение:

Ответ отправлен: 06.07.2003, 23:48
Отправитель: Евгений Иванов


Отвечает Bob Johnson

Доброе время суток, Alex_osipov!
Послать окну сообщение WM_SETICON.

* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---


Ответ отправлен: 06.07.2003, 23:46
Отправитель: Bob Johnson


Отвечает Hangatyr

Добрый день, Alex_osipov!
Отправь сообщение WM_SETICON c wParam = 1/0 в зависимости от того, какую иконку хочешь сопоставить окну и lParam, равным хэндлу иконки (т.е. надо ее предварительно загрузить).


Приложение:

Ответ отправлен: 06.07.2003, 18:44
Отправитель: Hangatyr


 Вопрос № 3651

Приветствую ещё раз, эксперты.
Огромное спасибо Бобу Джонсону за развёрнутый ответ на предыдущей вопрос.
Вот новый вопрос.
Хочу перехватывать все входящие и исходящие IP-пакеты с моего компутера и либо сохранять их на диск, либо отображать на экране.
Каким образом это лучше сделать.

Оффтопик: если существуют уже готовые подобные программки,
то ткните носом. Попробывал несколько снифферов, но все они для перехвата чужих пакетови по дляEthernet, а мне нужну только свои пакеты, идущие по модему.
Заранее спасибо.



Вопрос отправлен: 06.07.2003, 19:15
Отправитель: Даниил

[Следующий вопрос >>] [Список вопросов]

Отвечает Hubba

Приветствую Вас, Даниил!


Ответ отправлен: 07.07.2003, 14:49
Отправитель: Hubba


 Вопрос № 3652

Привет всем как програмировать Vesa 2.0 1024x768 32bit
знаю что функция 4F09h



Вопрос отправлен: 07.07.2003, 00:35
Отправитель: Ri-Jenea (Ri-Jenea@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Tigran K. Kalaidjian

Приветствую Вас, Ri-Jenea!
Вот описание из Ральфа Брауна:
INT 10 - VESA SuperVGA BIOS v2.0+ - GET/SET PALETTE ENTRIES
AX = 4F09h
BL = subfunction
00h set (primary) palette
01h get (primary) palette
02h set secondary palette data
03h get secondary palette data
80h set palette during vertical retrace
CX = number of entries to change
DX = starting palette index
ES:DI -> palette buffer, array of DAC entries (see #00086)
Return: AL = 4Fh if function supported
AH = status
00h successful
01h failed
SeeAlso: AX=4F0Ah,AX=D000h"S3VBE"
Format of VESA VBE palette entry:
Offset Size Description (Table 00086)
00h BYTE red
01h BYTE green
02h BYTE blue
03h BYTE alpha or alignment byte

Ответ отправлен: 07.07.2003, 20:28
Отправитель: Tigran K. Kalaidjian


Отвечает Hubba

Здравствуйте, Ri-Jenea!


Ответ отправлен: 07.07.2003, 14:49
Отправитель: Hubba


Отвечает Zedr0n

Здравствуйте, Ri-Jenea!
Привожу полный список доступных режимов 1024*768:
104h - 1024*768 16(4 bit)
105h - 1024*768 256(8 bit)
116h - 1024*768 32K(15 bit)
117h - 1024*768 64K(16 bit)
118h - 1024*768 16M
Функция 4F09h никакого отношения к этому режиму не имеет.
Она позволяет изменять палитру. Читай RBIL.
Для установки режима используется функция 4F02h.
Насчет самого вопроса. Во-первых, программировать можно
с использованием LFB, тогда все точно так же как в
стандартном 320*200, так как тогда вся видеопамять
представлена непрерывным блоком. Либо, если не использовать
LFB(который, кстати, можно использовать не на всех
видеокартах), то у Вас есть окна по 64K(максимальный размер
сегмента в DOS'е), между которыми надо переключаться, чтобы
получить доступ к определенной области видеопамяти. В
общем, это обширная тема, и я советую почитать
специализированные книги.


Ответ отправлен: 08.07.2003, 13:26
Отправитель: Zedr0n


 Вопрос № 3653

Привет все
Для RegisterHotKey нужен хэндл окна, так?
А как получить этот самый хендл? GetActiveWindow в DIALOG_INIT еще возвращает 0, а когда оно возвратит реальное значение - отловить невозможно.
какие есть способы получить хендл окна, которого по сути еще нет? (в сайсе по hwnd уже в DIALOG_INIT есть окно и хэндл, а GetActiveWindow возвращает 0)



Вопрос отправлен: 07.07.2003, 11:20
Отправитель: ?

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Здравствуйте, ?!
Когда у тебя вызывается оконная процедура (например, на WM_INITDIALOG), то что у тебя передается ей первым параметром? Именно хэндл твоего окна. GetActiveWindow не может тебе ее вернуть, потому что еще не закончена инициализация. Используй его, потому что других способов в данной ситуации нет (функция CreateDialog еще не вернулась и не возвратила хэндл).

* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---


Ответ отправлен: 07.07.2003, 17:02
Отправитель: Bob Johnson


Отвечает Zedr0n

Здравствуйте, ?!
Насколько я понимаю, разговор идет о Dialog Box? Вспомним
определение DlgProc:
INT_PTR CALLBACK DialogProc(
HWND hwndDlg, // handle to dialog box
UINT uMsg, // message
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
Вот hwndDlg и есть необходмый хэндл окна. Он находится
в стэке, то есть можно спокойно использовать. Проблем
никаких нет. Удачи!


Ответ отправлен: 08.07.2003, 13:36
Отправитель: Zedr0n


Отвечает Евгений Иванов

Доброе время суток, ?!
В обработчике WM_INITDIALOG номер (hwnd) окна передаётся в оконный обработчик!
Его и используй!:
BOOL CALLBACK DialogProc(
HWND hwndDlg, // handle of dialog box
UINT uMsg, // message
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);


Ответ отправлен: 07.07.2003, 20:55
Отправитель: Евгений Иванов


Отвечает Gibbel

Добрый день, ?!
В функции окна (диалога) первый параметр - хэндл окна.

Ответ отправлен: 07.07.2003, 14:47
Отправитель: Gibbel


 Вопрос № 3654

Приветствую вас, Коллеги.
Как получить отклик от модема после посылки команды (например, ATI0) команды?



Вопрос отправлен: 07.07.2003, 11:33
Отправитель: URiS (urisff@inbox.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Beeblebrox

Здравствуйте, URiS!
Так же, как и послать команду. То есть, если ты набрал ее в терминале, то - увидеть глазами

Ответ отправлен: 07.07.2003, 11:50
Отправитель: Beeblebrox


Отвечает Hubba

Добрый день, URiS!


Ответ отправлен: 07.07.2003, 14:49
Отправитель: Hubba


Отвечает Tigran K. Kalaidjian

Здравствуйте, URiS!
Я, в свое время, делал так: открываем файл "СOM3"(ну или где у Вас модем висит), пишем в него команду(например "AT"),закрываем файл, ждем некоторое время(зависит от модема), затем открываем его же для чтения, читаем отклик модема. Вот и все!
Пример программы на Паскале в приложении. Работает чуток глюкаво, но всё же работает =)


Приложение:

Ответ отправлен: 10.07.2003, 14:21
Отправитель: Tigran K. Kalaidjian



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (37)
C / C++ (23)
Perl (4)
Builder / Delphi (17)
Pascal (24)
Basic / VBA (8)
Java / JavaScript (10)
PHP (8)
MySQL / MSSQL (7)
Криптография (5)
WinAPI (7)
Пользователю
Windows 95/98/Me (30)
Windows NT/2000/XP (25)
"Железо" (22)
Поиск информации (15)
Администратору
Windows NT/2000/XP (14)
Linux / Unix (5)
Юристу
Гражданское право (9)
Семейное право (4)
Трудовое право (8)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное