Что нового

USBProtect - Блокировка USB устройств

qymor

Новичок
Сообщения
4
Репутация
1
net7wolf
В исходниках добавил фат и фат16 на всякий случай (есть такая система?), заработало.
Код:
	Switch $FS
		Case 'FAT32', 'FAT16', 'FAT', 'NTFS'
			Return 1
		Case Else
			Return 0
	EndSwitch

Yashied
Спасибо большое, нужная программа. Только...
USBResolve при проверке даже разрешенной флэшки выдает, что она не разрешена (красным), а когда снимаешь разрешение Volume.dat остается на месте. Так и должно быть? Или это только у меня так?
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
Не тестил - у меня винт внешний... страшно =)
Вопрос: если на флешке существует файл с данными, то она тыркается уже во все ПК ? Или флешка привязывается еще и к ПК ?
Существует ли лог флешек, которые были засунуты в ПК ?
 

net7wolf

Новичок
Сообщения
7
Репутация
0
---Zak--- с винтом не бойся, сначала разрешаешь, и все норм. Флешка будет работать как и раньше.на любом ПК.

qymor А теперь для тех ко программировать не умеет куда там ставить.

Yashied

мне тут показали, что процесс можно просто обойти (на ХР). Просто поменяв букву диска через администрирование, не выгружая процесс. Как с этим бороться?
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
USBProtect теперь работает только в Windows Vista и выше (тестировал на Windows 7). Это связано с тем, что в Windows XP FSCTL_LOCK_VOLUME работает только с правами администратора, что в свою очередь сводит на нет всю концепцию программы. USBResolve работает во всех системах.
 

qymor

Новичок
Сообщения
4
Репутация
1
net7wolf
Ну я в AutoIt тоже мало что смыслю, но...
в исходном тексте ищем строку (примерно 162-я):
Код:
Case 'FAT32', 'NTFS'
заменяем на:
Код:
Case 'FAT32', 'FAT16', 'FAT', 'NTFS'
сохраняем и компилируем.

Yashied
Не соглашусь на счёт концепции. На мой взгляд утилита USBProtect нужна в первую очередь системным администраторам для ограничения безобразий творимых юзерами :D, и должна использоваться в соответствующих условиях (разделение прав).
USBProtect запускаю на компах (XP SP3) пользователей (простые юзеры без прав) как системный сервис.
Флешки блокируются "на ура" :ok:, но ВСЕ, даже разрешённые утилитой USBResolve. Такой вот баг, который сам я исправить не могу... :(
Вся надежда на Вас Yashied :beer:
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
qymor сказал(а):
Флешки блокируются "на ура" :ok:, но ВСЕ, даже разрешённые утилитой USBResolve. Такой вот баг, который сам я исправить не могу... :(

USBResolve.au3 => Строка 277 => "Case 'FAT32', 'NTFS'"

:smile:

Так как я позицианировал эту утилиту именно для Vista+, то исправлять в ней я ничего не буду. Но вы можете сделать это сами, я не против.

Почему я не поставил "FAT16"? Потому что многие внешние девайсы со съемными носителями имеют "FAT16", например внешний Floppy Drive. И при подключении таких устройств к компьютеру без носителя они будут сразу же заблокированы. Это своего рода дополнительная защита.
 

qymor

Новичок
Сообщения
4
Репутация
1
Yashied спасибо за ответ, но это:
USBResolve.au3 => Строка 277 => "Case 'FAT32', 'NTFS'"
я проделал ранее, так как некоторые флешки не хотели "разрешатся" :scratch:
Проблема в том, что даже "разрешенные" (т.е. файл Volume.dat присутствует в корневом каталоге) флешки USBResolve (и я думаюUSBProtect) не воспринимает как "разрешенные", отсюда и траблы с их блокировкой. :-X
Мне кажется, что где-то в коде баг с определением наличия Volume.dat или его содержимого...
Я бы конечно сам попытался его исправить, но увы... в AutoIt я не силен :'(

net7wolf
мне тут показали, что процесс можно просто обойти (на ХР). Просто поменяв букву диска через администрирование, не выгружая процесс. Как с этим бороться?
я тут проверил, пользователь с правами обычного юзера не сможет поменять букву диска, что меня вполне устраивает ;D
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
"FAT16" нужно поставить в обоих файлах в функции _IsKnownDrive() или как-то так...
 

qymor

Новичок
Сообщения
4
Репутация
1
Yashied
Чуть-чуть подправил код USBProtect.au3:
Код:
Func _DriveIsValidate($sVolume)

	Local $ID

	If _DriveIsKnown($sVolume) Then
		$ID = _GetVolumeUniqueID($sVolume)
		;If ($ID) And ($ID = _FileQueryVolumeID($sVolume & '\Volume.dat')) Then
		If ($ID) And (_FileQueryVolumeID($sVolume & '\Volume.dat')) Then
			Return 1
		EndIf
	EndIf
	Return 0
EndFunc   ;==>_DriveIsValidate

Разрешенные флешки стали открываться. :D
С USBResolve.au3 так и не разобрался: разрешена / не разрешена флешка, всё равно красным её показывает. :wacko:
 

Asshaker

Знающий
Сообщения
150
Репутация
17
Крутая штука :smile: буду пробовать.
Сейчас выкручиваюсь через реестр. Там же можно прописывать флешки которые "можно" втыкать. 10 минут возни, но работает.
 

fanjumper

Новичок
Сообщения
1
Репутация
0
Да, штука отличная. Жаль под ХР ссылка не рабочая :(
 

Rimm

Новичок
Сообщения
30
Репутация
0
Хотелось бы уже рабочие ссылки!
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Ссылки обновлены.

:smile:
 

oldst

Новичок
Сообщения
2
Репутация
0
Посмотрел твою прогу, заинтересовала. Почему бы тебе вместо привязки к серийному номеру файловой системы флешки, использовать код экземпляра устройства? Тогда не придется "разрешать" пользоваться флешкой после ее форматирования и не потребуется создавать файл на ней. Инфу взял отсюда.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\USBSTOR\Enum - здесь отображаются подключенные в данный момент флеш накопители.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\WpdBusEnumRoot\UMB - здесь можно найти подраздел интересующего нас устройства по коду экземпляра, внутри которого есть ключ "FriendlyName", значение которого указывает на букву диска в данный момент.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
GUID флешки на разных компьютерах (может и на разных портах) будет разным.
 

oldst

Новичок
Сообщения
2
Репутация
0
на разных портах все одинаково (проверил: сначала воткнул в usb 2.0 затем в usb 3.0)
Просто в твоем случае юзер, после форматирования разрешенной флешки будет "курить", если вдруг тебя не окажется под рукой...
Но все-таки, если для тебя предложенный мною вариант неудобен(неприемлем), то не будешь ли возражать, если я переделаю твой скрипт, используя вышеуказанный мной способ, чисто для личного пользования?
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Все в твоих руках.

:smile:
 

unsend

Новичок
Сообщения
27
Репутация
2
Что вы все к флэшкам так прилипли:smile: Уже тема по счету 5-7 которую я просматриваю) Возникла идейка в связи с последними веяньями в среде неправильных любителей автоита(js, c++ и тд) включать вебкамеру удаленно, сделать оповещение что есть попытка включить эту самую камеру:smile: Как думаете?) Ну проще говоря при попытке включения вебкамеры неважно чем чтобы на экран вылазила надпись аля "ахтунг, идет видеовещание". Как думаете - смысл будет?)
 
Верх