Среда, 19.09.2018, 18:48 Приветствую вас Гость | Группа "Гости" 


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Волк-1024, Anton93, xXxSh@dowxXx  
delfcode » Delphi » Вирусология Delphi » Запрет удаления файла.
Запрет удаления файла.
Neo Дата: Вторник, 06.03.2012, 17:15 | Сообщение # 1
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
Всем привет , wink хотел спросить,какие API функции нужно перехватывать,чтобы отловить событие удаления
файла в проводнике?Я пробовал перехватывать DeleteFile и NtDeleteFile.Всё это работает,если удалять файл именно используя эти функции.Но на работу проводника это не влияет.Может он использует другие функции? wink


Сообщение отредактировал Neo - Вторник, 06.03.2012, 17:16
 
xXxSh@dowxXx Дата: Вторник, 06.03.2012, 17:32 | Сообщение # 2
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Интересный вопрос, то же хотелось бы узнать...
 
dolphin Дата: Вторник, 06.03.2012, 18:01 | Сообщение # 3
Администратор
Сообщений: 903
Статус: Offline
Проводник удаляет в корзину и через шелл вроде, попробуй SHFileOperationA из shell32.dll

Система: Windows 10 x64, Windows XP
Среды программирования: Delphi 7, Delphi 10 Seattle

Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
 
Android Дата: Вторник, 06.03.2012, 19:44 | Сообщение # 4
Постоянный
Зарегистрирован: 13.12.2011
Группа: Пользователи
Сообщений: 100
Статус: Offline
Товарищи, существуют же всякие мониторы испоьльзования АПИшных функций. Доступно только для пользователей вот тут оно как раз вроде и есть

ну плюсаните меня кто-нить))))


Сообщение отредактировал Android - Вторник, 06.03.2012, 19:44
 
dolphin Дата: Среда, 07.03.2012, 13:49 | Сообщение # 5
Администратор
Сообщений: 903
Статус: Offline
Android, Всё-таки это не ответ на поставленный вопрос, а средство. Сам давно использую эту программу, но чтобы найти в том что она выдаёт нужное можно долго просидеть в поисках. Мог бы тогда сразу написать какие апи функции используются и что нашёл при помощи этого софта был бы + однозначно bb

Система: Windows 10 x64, Windows XP
Среды программирования: Delphi 7, Delphi 10 Seattle

Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
 
Neo Дата: Среда, 07.03.2012, 17:58 | Сообщение # 6
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
Я тут перехватил SHFileOperationA,но на explorer это тоже не влияет.Если вызывать напрямую,то перехват работает(всё как и раньще).Вот мой код:
А вот вызов:

Может надо внедрить её в explorer напрямую,а не через хук?

Сообщение отредактировал Neo - Среда, 07.03.2012, 18:06
 
Neo Дата: Четверг, 08.03.2012, 06:20 | Сообщение # 7
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
Короче,прочитал тут,понял,что бесполезно
перехватывать SHFileOperationA.Прочитал тут и понял,что надо перехватывать
ZwCreateFile и ZwOpenFile.Может у кого будут ещё какие-либо варианты?Кто знает как правильно вызвать эти функции?


Сообщение отредактировал Neo - Четверг, 08.03.2012, 06:24
 
xXxSh@dowxXx Дата: Четверг, 08.03.2012, 11:01 | Сообщение # 8
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
по поводу ZwCreateFile и ZwOpenFile где то тут на форуме уже обсуждалось, точно не помню уже где...

а вобще если я не ошибаюсь то для удаления каких либо объектов нужно что бы у этих функций был установлен флаг что то типа DesiredAccess & DELETE - операция удаления файла, а вот на счет вызывает ли ее проводник, это уже другой вопрос...


Сообщение отредактировал xXxSh@dowxXx - Четверг, 08.03.2012, 11:02
 
Neo Дата: Четверг, 08.03.2012, 14:07 | Сообщение # 9
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
ВСЁ,я разобрался!!!))) cry cool biggrin wink ;) wink Вообщем,с начала я перехватил ZwCreateFile,получилась такая картина:
при копировании запретного файла(в проводнике) мой перехват срабатывает!Но при удалении нет.Потом я перехватил ZwOpenFile,
получилось,что это мне не только помогло отлавливать копирование,но и переименование,вырезание,удаление (shift+del) и
удаление в корзину!
Вот с удовольствием привожу пример моего когда,для запрета действий над файлом(папкой),имеющих в своём имени слово Project1.
Кстати,ещё есть одна фишка:если заблочить таким образом папку,то при попытке её открытия,тоже сработает перехват))).

Neo©

Сообщение отредактировал Neo - Четверг, 08.03.2012, 14:07
 
xXxSh@dowxXx Дата: Четверг, 08.03.2012, 14:38 | Сообщение # 10
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
то есть получается что ZwCreateFile тебе не понадобилась вовсе?

получается что мы подгружаем длл к какому либо процессу, и она будет перехватывать открытие, редактирование, либо удаление данной папки или файла, так?, или нужно обязательно к explorer.exe подгружать?

а ты разными методами тестировал? я имею ввиду не только через проводник но и какие либо другие программы работающие с проводником, или они в принципе одни и те же функции используют?

странно я пробовал инектить длл в explorer.exe ничего не дало... sad


Сообщение отредактировал xXxSh@dowxXx - Четверг, 08.03.2012, 15:04
 
Neo Дата: Четверг, 08.03.2012, 15:04 | Сообщение # 11
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
Я внедрял dll во все оконные процессы,а не конкретно инжектил в explorer.Работает это только на explorere,а на cmd не распростроняется(.Там,видимо,ещё что-то используется!А вот тотал-как проводник.
P.S только что поставил запретную строку- рабочий стол))).Так можно и попугать кого-нибудь))).
 
xXxSh@dowxXx Дата: Четверг, 08.03.2012, 20:37 | Сообщение # 12
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
да точно через cmd удаляется, а может быть попробовать перехватить все функции сразу в том числе и DeleteFile вместе с NtDeleteFile + те что ты использовал в последнем исходнике..,может так хоть удастся перехватывать и cmd?

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


Сообщение отредактировал xXxSh@dowxXx - Четверг, 08.03.2012, 20:51
 
Volf Дата: Четверг, 11.04.2013, 17:06 | Сообщение # 13
Частый гость
Зарегистрирован: 11.04.2013
Группа: Пользователи
Сообщений: 41
Статус: Offline
я делал запрет на удаление.
Необходимо перехватить
MoveFileW //вызывается для удаления файлов через эксплорер(перемещение в корзину)
DeleteFileW //Вызывается при удалении через сочетание клавиш Shift+del
 
vasysidor Дата: Вторник, 17.06.2014, 22:39 | Сообщение # 14
Новичок
Зарегистрирован: 17.06.2014
Группа: Пользователи
Сообщений: 1
Статус: Offline
Цитата Neo ()
Я внедрял dll во все оконные процессы

Если не сложно, напишите, пожалуйста, как это сделать, очень прошу, кодом, на любом удобном для Вас языке (лучше, конечно Delphi).
Перелопатил Google, не смог разобраться, увы, новичок. Заранее спасибо.
 
Neo Дата: Воскресенье, 21.09.2014, 15:03 | Сообщение # 15
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
Перехватить-то её,конечно,получилось,но толку от этого особого не было.Только для тех,кто напрямую её вызывает,то да.Для запрета удаления файла надо хучить другие функции/
 
VB Дата: Среда, 24.09.2014, 13:06 | Сообщение # 16
Был не раз
Зарегистрирован: 29.04.2014
Группа: Пользователи
Сообщений: 19
Статус: Offline
Цитата Neo ()
Перехватить-то её,конечно,получилось,но толку от этого особого не было.Только для тех,кто напрямую её вызывает,то да.Для запрета удаления файла надо хучить другие функции/

вопрос какие же именно функции?
 
Волк-1024 Дата: Среда, 24.09.2014, 13:34 | Сообщение # 17
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 467
Статус: Offline
Полагаю что NtDeleteFile и NtQueryInformationFile

Pascal, C\C++, Assembler, Python
 
stas971 Дата: Пятница, 26.09.2014, 21:36 | Сообщение # 18
Новичок
Зарегистрирован: 26.09.2014
Группа: Пользователи
Сообщений: 1
Статус: Offline
Neo, надо посмотреть как устроенна система win 7 и на нее сделать, ибо этот код не пашет
 
mercer Дата: Пятница, 11.11.2016, 11:06 | Сообщение # 19
Новичок
Зарегистрирован: 11.11.2016
Группа: Пользователи
Сообщений: 1
Статус: Offline
На Вин7 не пашет к сожалению
 
delfcode » Delphi » Вирусология Delphi » Запрет удаления файла.
  • Страница 1 из 1
  • 1
Поиск:

delfcode.ru © 2008 - 2018 Хостинг от uCoz