![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Блокирование файла [D7, Win2k]
Kniaz © (2004-09-23 15:38:00)Хочу работать с файлом обычными функциями типа AssignFile, RewRite, ReadLn, WriteLn, но при это мне надо заблокировать этот файл от доступа из других приложений. Как это сделать????
С другими функциями работы с файлами общатся не умею.
Defunct (2004-09-23 21:52:00) [1]>Хотя об этом и написано в лицензионном соглашении, но есть люди (и их довольно много), которые считают, что эта_самая_ось - настоящий подарок для вирусмейкеров.
В сравнении с другими - да, а так в ней тоже хватает всяких примочек и узких мест.
Defunct (2004-09-23 21:41:00) [2]мдя.. под вечер грамматика хромает ;)
поправлюсь в только в термине, а то смысл теряется.
"полимофного" читать - полиморфного.
Fay (2004-09-23 21:36:00) [3]
> да и ОС - не подарок
Хотя об этом и написано в лицензионном соглашении, но есть люди (и их довольно много), которые считают, что эта_самая_ось - настоящий подарок для вирусмейкеров. Но эта тема (вирусы-вредилусы и т.д.) мне абсолютно не близка.
2 Kniaz © (23.09.04 15:38) [Ответить]
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1095950229&n=5
За время, сопоставимое с тем, которое мы (я и Defunct) потратили на переписку в этой ветке, вполне можно освоить "CreateFile & K"
Удачи.
Defunct (2004-09-23 21:25:00) [4]Fay © (23.09.04 20:55) [28]
Вот вы на шутку перевели, а зря. Для того чтобы написать диллетантский файловый вирус потребуется хотя бы год подготовки. Чтобы написать нормальный файловый вирус - 2 года подготовки + год на написание.
Только главное упор не на деструкцию делать, а на "выживание" в сложнейших условиях (антивирусные мониторы - церберы, сканеры-убийцы! да и ОС - не подарок и т.п.).
Сложность такого рода программ, гораздо выше чем, любой прикладной программы, да и вчаствости антивирус (говорю по собственному опыту) гораздо проще написать. Полноценный AV монитор с эвристикой можно сделать за пол-года, когда полноценный вирус требует год(ы).
PS: под полноценным вирусом подразумаваю, программу-генератор динамического полимофного кода с полным сохранением функциональности первоначальной копии.
Fay (2004-09-23 20:55:00) [5]2 [27] Defunct © (23.09.04 20:50)
> Очень даже повысит кругозор
Для этого даже есть даже специальные учреждения. Полный пансион! 8)
Defunct (2004-09-23 20:50:00) [6]Fay © (23.09.04 20:38) [26]
Дык, и занят другим.
А этим занимался в далеком прошлом и тяги к такого рода занятиям сейчас нет, да и вознгаграждение не прельщает. Максимум что можно получить - попасть в список Касперского с лейбой "Очень опасный стелс-призрак вирус" или и того хуже "Студенческий вирус, очень опасен из-за ошибки ... ", а то и совсем худо - по голове и штраф. А вот для более молодого поколения такая тема весьма актуальна, написать эдакого электронного зверька, который может сам позаботиться о себе. Очень даже повысит кругозор.
Fay (2004-09-23 20:38:00) [7]2 [25] Defunct © (23.09.04 20:32)
> Теперь пойдут безграмотрые трояны, вирусня и т.п. ;)
Займитесь лучше чем-нибудь другим 8)
Defunct (2004-09-23 20:32:00) [8]Fay © (23.09.04 20:19) [24]
Вы убиваете веру! ;)
Теперь пойдут безграмотрые трояны, вирусня и т.п. ;)
Fay (2004-09-23 20:19:00) [9]Признаться, я не горел желанием. 8)
И я не спорю. Я на самом деле думал, что что-то упустил, и мне чичяз на халяву всё расскажут. 8)
Defunct (2004-09-23 20:15:00) [10]Fay, давайте не будем спорить о возвышенном. Ясное дело сделать при большом желанииможно практически все.
Fay (2004-09-23 20:14:00) [11]2 [21] Defunct © (23.09.04 20:13)
Я ещё и Del нажал! Неслыхано! 8)
А это разве запрещено?
Defunct (2004-09-23 20:13:00) [12]Fay © (23.09.04 20:07) [19]
Cжульничал! ;)
FILE_SHARE_DELETE
Fay (2004-09-23 20:11:00) [13]2 [17] GanibalLector © (23.09.04 20:02)
var
h1 : DWORD;
begin
h1 := CreateFile('c:\111.txt', GENERIC_WRITE, FILE_SHARE_WRITE or FILE_SHARE_DELETE, nil, OPEN_EXISTING, 0, 0);
try
if h1 = INVALID_HANDLE_VALUE then RaiseLastOSError;
Sleep(10100);
finally
if h1 <> INVALID_HANDLE_VALUE then CloseHandle(h1);
end;
end;
Fay (2004-09-23 20:07:00) [14]2 [17] GanibalLector © (23.09.04 20:02)
В догонку. Удалил без вопросов.
Fay (2004-09-23 20:05:00) [15]2 [17] GanibalLector © (23.09.04 20:02)
> А ты попробуй открыть файл...затем sleep(10000); и за это
> время мощи его из другого приложения.Сразу говорю,НЕ УДАЛИШЬ!!!
Проверять лениво. Легче поверить. Но что нам демонстрирует данный опыт?
GanibalLector (2004-09-23 20:02:00) [16]>Система сама заблокирует доступ на запись для других приложений.
>>Это где-то написано, или опыт подсказывает?
Поверьте,недавно сам проверял!!!
А ты попробуй открыть файл...затем sleep(10000); и за это время мощи его из другого приложения.Сразу говорю,НЕ УДАЛИШЬ!!!
Кстати,насчет БЛОКНОТА,винда открывает файло,закидывает текс в редактор и закрываетфайло.
Fay (2004-09-23 19:43:00) [17]На самом деле, таке впечатление ("автоматически") запросто может сложиться. Благо в Борланде работают крупные мастера по "заворачиванию" API. 8)
Defunct (2004-09-23 19:28:00) [18]> "делфи или пользователь" - это как?
отож, что никак.
> Только немножко преувеличена до некорректности. Не делает она этого "автоматически". Ну эта, которая система.
Ну дык, пост [6] довел меня до некорректного преувеличения.
Сорри.
Fay (2004-09-23 19:24:00) [19]2 [13] Defunct © (23.09.04 19:20)
> IMHO фраза [1] вполне корректна даже после замечания [10].
Корректна, конечно. Только немножко преувеличена до некорректности. Не делает она этого "автоматически". Ну эта, которая система.
P.S.
"делфи или пользователь" - это как?
Defunct (2004-09-23 19:20:00) [20]Fay © (23.09.04 18:22) [10]
>> В системе не разрешается совместный доступ по записи в файл.
Ок, это преувеличение.
> Да что Вы говорите! Какая нехорошая система! Убил бы.
> FILE_SHARE_WRITE
Ок, можно получить совместный доступ при большом желании.
по-умолчанию Delphi открывает (fmOpenWrite, fmReadWrite), так что все чики-пики, файл будет заблокированным:
CreateFile(PCHar(FileName), GENERIC_WRITE <or GENERIC_READ> , 0, nil, OPEN_EXISTING, 0, 0);
Кто по-умолчанию блокирует доступ? Система или делфи или ползователь. IMHO фраза [1] вполне корректна даже после замечания [10].