| 
							XC™
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 «  : 27-01-2004 17:13 »   | 
								
								 | 
							  
							 
							Мне надо всего-навсего перехватить обращение к файловой системе или к диску  в XP и разрешить либо запретить выполнения перехваченной операции .  Перехват API - не помог . Драйвер помог только на 98 ...  Помогите пожалуйстя !!!  Чуть больше, чем мастер -    Не один мастер Delphi мне еще не ответил на этот вопрос ... и вообще - я просто хочу учиться ...  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							grozny
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #1 : 27-01-2004 20:09 »   | 
								
								 | 
							  
							 
							А как делался перехват API? Низкоуровневым хуком (с суффиксом _LL ?) Или как-то ещё? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							SlavaI
							
								Главный специалист 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #2 : 27-01-2004 21:27 »   | 
								
								 | 
							  
							 
							 Мне надо всего-навсего перехватить обращение к файловой системе или к диску 
 
 Если только это, то вот тебе 100% правильное решение 1) для перехвата обращений к файловой системе, достаточно простого драйвера фильтра файловой системы, не пугайся рассказов о сложности фильтров файловых систем- это так только в случае если ты пытаешься нетривиально модифицировать передаваемые данные, для простого анализа и отклонения запросов все очень просто. Самая большая сложность тут- не трогать запросы от VMM, посланные на страничный файл, а также желательно не трогать запросы на подгрузку страниц в секции, но если это для юзер мода- можно отклонять. Все запросы к страничному файлу легко вылавливаются, если надо скажу как. 2) Перехват обращений к дискам- тут есть тонкость. Если на диск(раздел) смонтирована файловая система то  ВСЕ интересные для тебя обращения чтения, записи и IOCTL пойдут сначала через нее(то есть тут ты их поймаешь на фильтре файловой системы), потом они будут переданы на DEVICE_OBJECT одного из драйверов- ftdisk.sys или dmio.sys, а уже с них на драйвер disk.sys. Первые два драйвера отвечают за разделы на диске, третий драйвер за разделы и весь диск(то есть запросы, адресованные всему диску пойдут на него, например модификация таблицы разбиения). Обращаю внимание- пользовательское приложение без привилегий админа не сможет напрямую работать через disk.sys.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							point
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #3 : 28-01-2004 06:58 »   | 
								
								 | 
							  
							 
							 1) для перехвата обращений к файловой системе, достаточно простого драйвера фильтра файловой системы, не пугайся рассказов о сложности фильтров файловых систем- это так только в случае если ты пытаешься нетривиально модифицировать передаваемые данные, для простого анализа и отклонения запросов все очень просто. 
 
 я бы не согласился с таким утверждением... судя по всему человеку нужно блокировать открытие некоторых файлов (или блокировать любые другие операции на конкретном файле, а для этого надо знать имя файла), а получение нормализованного имени файла весьма трудоемкая операция... point.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							SlavaI
							
								Главный специалист 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #4 : 28-01-2004 07:20 »   | 
								
								 | 
							  
							 
							 а получение нормализованного имени файла весьма трудоемкая операция... 
 
 Да ладно пугать. IRP_MJ_CREATE идет с полным именем, только нет имени диска- но это элементарно узнается или через FILE_OBJECT или через VPB. На IRP_MJ_READ/WRITE уже подправленный FILE_OBJECT, но все запросы можно прикрыть в момент создания FILE_OBJECT, или хранить соотвествие FILE_OBJECT- имя, созданное в момент обработки IRP_MJ_CREATE в фильтре.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							point
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #5 : 28-01-2004 09:07 »   | 
								
								 | 
							  
							 
							 "Да ладно пугать. IRP_MJ_CREATE идет с полным именем"
 
 угу, особенно если учесть что имя бывает короткое и длинное, плюс related & полное, плюс комбинации длинных и коротких имен в пути, плюс FileID, плюс streeam file object, hard links... Вам понравится...   point  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							SlavaI
							
								Главный специалист 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #6 : 28-01-2004 10:06 »   | 
								
								 | 
							  
							 
							 угу, особенно если учесть что имя бывает короткое и длинное, плюс related & полное, плюс комбинации длинных и коротких имен в пути, плюс FileID, плюс streeam file object, hard links...  Вам понравится...  
 
 Ой     Опять рассказы про страшные вещи. Про такую вещь как собственный запрос IRP_MJ_QUERY_INFORMATION из твоего фильтра на нижележащий драйвер файловой системы слышал? Я думаю хватит пугать страшными фильтрами, иначе человек никогда за это не возьмется. Надо так - "Сначала ввяжемся, потом разберемся".  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							point
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #7 : 28-01-2004 10:12 »   | 
								
								 | 
							  
							 
							Про такую вещь как собственный запрос IRP_MJ_QUERY_INFORMATION из твоего фильтра на нижележащий драйвер файловой системы слышал? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							SlavaI
							
								Главный специалист 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #8 : 28-01-2004 10:17 »   | 
								
								 | 
							  
							 
							Хмм. Что-то не так? Я не понял, что ты хотел сказать. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							point
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #9 : 28-01-2004 10:20 »   | 
								
								 | 
							  
							 
							 Про такую вещь как собственный запрос IRP_MJ_QUERY_INFORMATION из твоего фильтра на нижележащий драйвер файловой системы слышал?
 
 я не сказал что проблема не решаема, я сказал что есть определенные трудности, в частности с вызовом query (рекурсия)... в общем чтобы закончить обмен бессмысленными заявлениями я дам ссылки на ресурсы посвященные file system filter devs http://www.osronline.com - нужно зарегестрироваться (бесплатно) тогда станут доступны статьи и многе другое. http://www.osronline.com/article.cfm?id=17 - IFS FAQ  http://www.ntfsd.org - архив конференции по FileSystem drivers point.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							SlavaI
							
								Главный специалист 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #10 : 28-01-2004 10:27 »   | 
								
								 | 
							  
							 
							 я не сказал что проблема не решаема, я сказал что есть определенные трудности, в частности с вызовом query (рекурсия)... 
 
 Дабы закончить- нет там никакой рекурсии, я же призываю не функцию ядра вызывать, которая зашлет запрос сначала на фильтр, а сделать свой IRP, и слать его сразу на драйвер файловой системы- никакой рекурсии нет. А способ обхода рекурсии при использовании ф-ций ядра давно известен- создание вторго DEVICE_OBJECT для твоего фильтра и засылки запросов на него, на osr он где-то описан, есть в IFSD.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							XC™
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #11 : 28-01-2004 10:33 »   | 
								
								 | 
							  
							 
							А как делался перехват API? Низкоуровневым хуком (с суффиксом _LL ?) Или как-то ещё? 1)  Пишешь прототип API функции ... (в DLL) 2)  Внедряешь DLL в чужой процесс  3)  Просматриваешь таблицу импорта этого процесса , находишь адрес функции, которую хочешь перехватить (там втупую имена функций указаны) 4)  Если надо запоминаешь старый адрес и вписываешь свой адрес .. 5)  Все ...  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							point
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #12 : 28-01-2004 10:47 »   | 
								
								 | 
							  
							 
							2SlavaI  Дабы закончить- нет там никакой рекурсии, я же призываю не функцию ядра вызывать, которая зашлет запрос сначала на фильтр, а сделать свой IRP, и слать его сразу на драйвер файловой системы- никакой рекурсии нет.
 
 при таком подходе рекурсии не будет. а теперь раскажите мне пожалуйста как с помощью IRP_MJ_QUERY_INFORMATION Вы собираетесь получить нормализованное имя объекта? судя по Вашим знаниям Вы должны быть в курсе что с помощью нее можно получить то имя объекта которое было передано в IRP_MJ_CREATE и если оно было коротким, то таким же и останется. Есть способ заставить IRP_MJ_QUERY_INFORMATION вернуть длинное имя, но он не рекомендован к применению при большом количестве разных фильтров в стеке. Единственный (известный мне) рекомендованный к применению способ основан на использовании IRP_MJ_DIRECTORY_CONTROL/IRP_MN_QUERY_DIRECTORY - надо получить имина всех объектов поочередно опрашивая все каталоги входящие в путь. проблема с относительным путем чаще всего решается с помощью написания кеша открытых объектов - в этом решении есть свои тонкости...  описание всех трюков можно найти в сети... btw не нужно вводить людей в заблуждение - написание полноценного FS фильтра достаточно трудоемкая задача point.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							SlavaI
							
								Главный специалист 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #13 : 28-01-2004 11:00 »   | 
								
								 | 
							  
							 
							  Вы должны быть в курсе что с помощью нее можно получить то имя объекта которое было передано в IRP_MJ_CREATE
 
 Кто это такое сказал? По моему никакого стандарта нет. Оно будет таким, как его реализовали в драйвере, в частности как оно сохранено в FCB, который один на несколько FILE_OBJECT, которые могут быть открыты по разному- коротким именем, через RelatedFileObject и т.д. То есть с этим утверждением я не согласен. Действительно из CCB можно вытянуть инфу об открытии и вернуть короткое имя например и обрезать возвращаемое имя, полученное из полного.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							point
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #14 : 28-01-2004 11:09 »   | 
								
								 | 
							  
							 
							 Кто это такое сказал? По моему никакого стандарта нет. Оно будет таким, как его реализовали в драйвере, в частности как оно сохранено в FCB, который один на несколько FILE_OBJECT, которые могут быть открыты по разному- коротким именем, через RelatedFileObject и т.д. То есть с этим утверждением я не согласен.
 
 да собственно Вы лично можете быть не согласны c чем угодно    - факт остается фактом. это не мое утверждение - не сочтите за труд поискать в архивах ntfsd - там это обсуждалось... point.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							SlavaI
							
								Главный специалист 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #15 : 28-01-2004 11:15 »   | 
								
								 | 
							  
							 
							 да собственно Вы лично можете быть не согласны c чем угодно 
 
 Так я с этим не согласен, так как если напрячься и открыть код, например fastfat, то там написано     //  1) short name: use FinalNameLength to tear off the path from FullFileName     //      and append the UNICODE converted short name.     //  2) long name: just use FullFileName     //     //  We bias to the name the user thinks they opened by.  This winds     //  up fixing some oddball tunneling cases where intermediate filters     //  translate operations like delete into renames - this lets them     //  do the operation in the context of the name the user was using.     //     //  It also matches what NTFS does, and so we have the definition of     //  correct behavior.
 
 bias. То есть сделан выбор, но никак не стандарт, а "fixing some oddball".  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							point
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #16 : 28-01-2004 11:24 »   | 
								
								 | 
							  
							 
							2SlavaI:
  мне не нужно ничего доказывать - мне все равно... факт такого поведения зафиксирован... поддерживать это нужно (если конечно Вы разрабатываете коммерческий софт). все остальные соображения можно направлять в MS...
  point. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							SlavaI
							
								Главный специалист 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #17 : 28-01-2004 11:38 »   | 
								
								 | 
							  
							 
							 мне не нужно ничего доказывать - мне все равно...  факт такого поведения зафиксирован... поддерживать это нужно (если конечно Вы разрабатываете коммерческий софт). все остальные соображения можно направлять в MS... 
 
 Да, ладно. Я поспорить хотел    
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							point
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #18 : 28-01-2004 12:50 »   | 
								
								 | 
							  
							 
							2SlavaI:
  ну если поспорить, то могу высказать свое imho по поводу именования объектов лежащих во внешних пространствах имен (на файловых системах, в реестре и пр.):
  на мой взгляд MS плохо специфицировал требования к именам этих объектов. Если бы были четко определены требования то такой чехарды с именами не было бы изначально...
  point 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							XC™
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #19 : 28-01-2004 13:57 »   | 
								
								 | 
							  
							 
							 Мне надо всего-навсего перехватить обращение к файловой системе или к диску 
 
 Если только это, то вот тебе 100% правильное решение 1) для перехвата обращений к файловой системе, достаточно простого драйвера фильтра файловой системы, не пугайся рассказов о сложности фильтров файловых систем- это так только в случае если ты пытаешься нетривиально модифицировать передаваемые данные, для простого анализа и отклонения запросов все очень просто. Самая большая сложность тут- не трогать запросы от VMM, посланные на страничный файл, а также желательно не трогать запросы на подгрузку страниц в секции, но если это для юзер мода- можно отклонять. Все запросы к страничному файлу легко вылавливаются, если надо скажу как. 2) Перехват обращений к дискам- тут есть тонкость. Если на диск(раздел) смонтирована файловая система то  ВСЕ интересные для тебя обращения чтения, записи и IOCTL пойдут сначала через нее(то есть тут ты их поймаешь на фильтре файловой системы), потом они будут переданы на DEVICE_OBJECT одного из драйверов- ftdisk.sys или dmio.sys, а уже с них на драйвер disk.sys. Первые два драйвера отвечают за разделы на диске, третий драйвер за разделы и весь диск(то есть запросы, адресованные всему диску пойдут на него, например модификация таблицы разбиения). Обращаю внимание- пользовательское приложение без привилегий админа не сможет напрямую работать через disk.sys. Мне нужен именно 1-й пункт ... Помогите пожалуйста !  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							SlavaI
							
								Главный специалист 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #20 : 28-01-2004 14:46 »   | 
								
								 | 
							  
							 
							 Мне нужен именно 1-й пункт ... Помогите пожалуйста !
 
 Пиши свой e-mail, вышлю пример драйвера фильтра. Там есть все, что тебе нужно, переделай его как тебе надо(на самом деле- выкинь не нужное). Драйвер естественно на C.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							SlavaI
							
								Главный специалист 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #21 : 28-01-2004 14:54 »   | 
								
								 | 
							  
							 
							 на мой взгляд MS плохо специфицировал требования к именам этих объектов. Если бы были четко определены требования то такой чехарды с именами не было бы изначально... 
 
 Если бы только там. Вся драйверная подсистема- это чехарда, когда разрабатывали в 1988-1993 годах спецификацию NT такая модель драйверов подходила хорошо, а потом началось- впихивание в IRP и другие устоявшиеся структуры указателей на новые структуры, связанных с появлением новых типов устройств и другого принципа взаимодействия, из-за чего логика построения IRP вобще исчезла. Но в принципе так всегда- первоначально разработанная красивая и понятная модель обрастает множеством добавок, которые все изменяют, нгаверняка у многих так было- программа превращается в этакого монстра, совершенно не совпадающего с первоначальными задумками. Создается впечатление(во всяком случае у меня)- эта модель драйверов находится на своем пределе, она неконтроллируема и тяжело понимаема.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							point
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #22 : 28-01-2004 15:23 »   | 
								
								 | 
							  
							 
							Создается впечатление(во всяком случае у меня)- эта модель драйверов находится на своем пределе, она неконтроллируема и тяжело понимаема. похоже... а еще создается ощущение что вся внутренняя иерархия драйверов не предусматривала разработки драйверов сторонними фирмами (за исключением разве что драйверов оборудования) - MS все собиралась делать сама... отсюда отсутствие документации (как можно документировать набор условий который с трудом умещается на странице кода?) и всевозможные заплатки... point  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							XC™
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #23 : 29-01-2004 07:15 »   | 
								
								 | 
							  
							 
							Пиши свой e-mail, вышлю пример драйвера фильтра.   Prog.TM@mail.ru за ранее спасибо !  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							XC™
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #24 : 29-01-2004 07:21 »   | 
								
								 | 
							  
							 
							SlavaI, И еще один очень глупый вопрос не по теме (извините за это) : а кто имеет право нажимать '+' / '-' ? Только админы ? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							SlavaI
							
								Главный специалист 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #25 : 29-01-2004 07:30 »   | 
								
								 | 
							  
							 
							 а кто имеет право нажимать '+' / '-' ? Только админы ?
 
 По моему любой имеет право жать на эти кнопки. На этом форуме вобще нет злостных ограничений, максимальная свобода.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							SlavaI
							
								Главный специалист 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #26 : 29-01-2004 07:33 »   | 
								
								 | 
							  
							 
							А вот еще- в следующий раз не пиши почтовый адрес в открытую, делай например так  Prog.TM $собака_гав_гав$ на сайте $ mail.ru  а то спамерские роботы, сканирующие сеть в посиках адресов тебя засекут. Чем сильнее извратишь, тем лучше. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							SlavaI
							
								Главный специалист 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #27 : 29-01-2004 07:40 »   | 
								
								 | 
							  
							 
							XC™,  послал, там аттачмент в пол мега, но по моему должен пролезть на mail.ru, если не пройдет- пиши, будем резать на части. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Гром
							
								Птычк. Тьфу, птычник... Вот! 
								Готовлюсь к пенсии
								
								  
								  Offline
								Пол:   
								Бодрый птах
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #28 : 29-01-2004 08:10 »   | 
								
								 | 
							  
							 
							XC™, только набрав определенное колличество сообщений ты можешь жать + и -    
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							А птичку нашу прошу не обижать!!! 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Anonymous
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #29 : 29-01-2004 11:28 »   | 
								
								 | 
							  
							 
							SlavaI, да прогу получил и спасибо за совет на счет мыла ... ща буду исходники смотреть ... 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	 |