Размер зашифрованного файла

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Размер зашифрованного файла

Сообщение Alexanbar » 12.04.2005 (Вт) 21:58

Сегодня с удивлением обнаружил, что файлы могут иметь атрибут "зашифрованный".

К чему это приводит. Любой пользователь w2000 с самыми обычными правами может, как оказалось, установить этот атрибут для своего файла, а администраторы не смогут никаким образом его открыть. В частности, файлы *.wav отказывается проигрывать windows Media player. Всё, что может сделать админ-удалить или перименовать файл. А у меня было заблуждение, что админу доступно всё!!!

А вопрос вот , собствено, в чём. Раньше я рассчитывал размер файла таким образом:

Public Function FileSize(FilePath As String) As Double
Dim Pointer As Long
Dim lpFSHigh As Long 'старший разряд
Dim lpFSLow As Long 'младший

On Error Resume Next
Err.Clear

Pointer = lopen(FilePath, OF_READ)
If Pointer < 0 Then
Err.Clear
Exit Function
End If
'e = Err.LastDllError

'If e <> 0 Then Exit Function

lpFSLow = GetFileSize(Pointer, lpFSHigh)
If lpFSLow >= 0 Then
FileSize = lpFSLow
Else
FileSize = 2 ^ 32 + lpFSLow
End If

FileSize = FileSize + 2 ^ 32 * lpFSHigh

lclose Pointer

End Function


Это всё работает для обычных файлов, в том числе большого размера.
А для чужих зашифрованных файлов выдаётся размер 0.

По всей видимости, файл не открывается на чтение (переменная Pointer<0).
В связи с этим встаёт 2 вопроса:
1) можно ли открыть зашифрованный файл через lopen и если да, то какой тип доступа должен быть
2) если нельзя, то как получить манипулятор файла с атрибутом "зашифрованный".

Что вообще можно делать с таким файлами, раз их и читать нельзя?

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 12.04.2005 (Вт) 22:03

Слушай если мелкософт сделала такую вещь то чё мучиться с защитой файлов=)))) мелкософт уже всё сделала... я имею ввиду защиту проги от взлома... т.е. взять создать виртуального пользователя и закрыть файлик с ключём для проги...=)))

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 12.04.2005 (Вт) 22:57

Да, прикольная вещь, тоже недавно наткнулся и очень порадовался :).

Вообще-то, админы все-таки имеют некий доступ к таким файлам: если у тебя домен, то администратор домена автоматически получает резервный восстановительный ключ. Если машина в режиме stand-alone - тогда да, тогда облом. И то не факт, кстати...

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 12.04.2005 (Вт) 23:24

Меня, собственно говоря, сейчас не сильно заботят сами данные в зашифрованных файлах. Вопрос в том, как получить их размер (проводнок исправно это делает), и желательно, и для больших файлов тоже.

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 13.04.2005 (Ср) 11:36

Попробуй узнать размер всего диска, сложить размеры остальных файлов и вычесть и размера диска :lol: :lol:

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 13.04.2005 (Ср) 13:14

Если зашифрованных много (>1)? :lol:
На это не смотрите! Это не подпись!!!!!!

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 13.04.2005 (Ср) 13:23

А остальные удаляем на время на другой диск :lol: :lol:

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 13.04.2005 (Ср) 13:26

Просим дискетку :lol:
Хотя есть компы, где и флоппика нет, и HDD на 10 Мб с xp :lol:
На это не смотрите! Это не подпись!!!!!!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 13.04.2005 (Ср) 13:26

Alexanbar, а FileLen() что возвращает?
Lasciate ogni speranza, voi ch'entrate.

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 13.04.2005 (Ср) 20:57

FileLen не пробовал, но сегдоня попробовал FSO. Возвращает размер правильно. Вот только одно меня беспокоит - если файл будет эдак гига 4, размер у него, по моему, будет неверным (<0). В своё время сделал я как-то Backup для системы, посмотрел на размер файла, который тогда выдавала моя прога - оказалось, что отрицательный!
Вот тогда и раскопал ф-ю GetFileSize, которая может давать большой размер.

Одно хорошо - маловероятно, что юзвеерь зашифрует файл очень большого размера.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 140

    TopList