![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Pilligrim |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 9.6.2006 Репутация: 1 Всего: 1 |
В общем вопрос выглядит так: Как мне перечислит все файлы ПК (ВСЕ), т.е. надо хендлы всех файлов. Хранить их мне не надо, надо только единоразово получить к ним доступ и забыть. Это нужно для заполнения структуры примерно такого содержания: 1.размер файла, 2.дата модификации и 3.создания. Вот. Заполнение структуры знаю как реализовать. Нужно только хендлы всех файлов. Помогите Please! |
|||
|
||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
-------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| Pilligrim |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 9.6.2006 Репутация: 1 Всего: 1 |
Это конечно всё правильно,я это и сам думал использовать, но: предположми ф-ия FindFirstFile нашла файл "a.a", вернула мне его хендл, я его сую в ф-ию FindNextFile, и она ищет файлы с таким же именем, а мне нужны все(!). И кстати, как FindNextFile использует указатель на WIN32_FIND_DATA? Заполняет его для новых найденных или как? В общем это не катит, прога мне найдет все файлы имя которых совпадает с именем первого попавшегося файла, а мне нужны все(!). |
|||
|
||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
Pilligrim, а MSDN на эту тему почитать\воспользоватся поиском по форуму слабо?
-------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| Pilligrim |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 9.6.2006 Репутация: 1 Всего: 1 |
Думаешь не пробовал? |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| Pilligrim |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 9.6.2006 Репутация: 1 Всего: 1 |
У меня есть справка по API. Там всё это есть. И я так понял Daevaorn, что ты хочешь сказать, если я, укажу имя файла как "С:\?", то эти функции перечислят все файлы по очереди? Так? Ладно, тогда подскажи как быть с функцией FindNextFile, как она использует указатель на WIN32_FIND_DATA? Заполняет его для новых найденных или как? Там не сказано... Это сообщение отредактировал(а) Pilligrim - 15.7.2006, 21:13 |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
Pilligrim, тебя же уже не раз посылали в msdn:) Там всё написано: куда, что и как.
http://msdn.microsoft.com/library/default....a_directory.asp |
|||
|
||||
| Pilligrim |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 9.6.2006 Репутация: 1 Всего: 1 |
А нельзя ли эту MSDN библиотечку качнуть себе на комп? |
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
||||
|
||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
Это 2-3 CD. Проще купить -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| MoZy |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 4.6.2006 Репутация: нет Всего: 0 |
Pilligrim, а ты уверен, что вирусяга не сможет поставить дату изменения такую, какую ему надо ?
Все-таки тебе еще что-то нужно, чтобы засечь. Может весь контент копировать Не кашляй! Это сообщение отредактировал(а) MoZy - 16.7.2006, 19:05 --------------------
Experimentia est optima rerum magistra |
|||
|
||||
| Pilligrim |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 9.6.2006 Репутация: 1 Всего: 1 |
Конечно может! Флаг ему в руки. Пусть меняет, а я ещё и размерчик файла засеку. Вот! А уж тут не отвертишься... А если он какую-то часть файла просто заменит куском себя, то тогда я это пойму по неработоспособности файла. Так что всё ОК! |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 8 Всего: 158 |
что есть "неработоспособность файла"? и как ты ее будешь вычислять?
не совсем понял, чего ты добиваешься. одно можно сказать точно - антивирусный монитор у тебя не получится. |
|||
|
||||
| Pilligrim |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 9.6.2006 Репутация: 1 Всего: 1 |
Интересный вопрос, если учитывать, что как потенциально подверженные заражению - это либо исплняемые файлы, либо DLL(остальное заражать нет смысла). Теперь,dumb понял? Просто запущу и пойму, что он поврежеден! Просто не правда ли?
Смотря, что ты так называешь... Необязательно засечь какой вирус и где он, достаточно обнаружить его присутствие, а потом отдать флаг первенства Касперу, например. |
||||
|
|||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 8 Всего: 37 |
Организуй рекурсивный обход всего дерева каталогов. Получишь полный список всех файлов диска.
Если тебе такой контроль файловой системы для себя только нужен, я бы посоветовал какой нить файл-монитор скачать, коих навалом. |
|||
|
||||
| Pilligrim |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 9.6.2006 Репутация: 1 Всего: 1 |
Я его уже организовал(но всё равно спаисбо за помощь), сейчас думаю какую инфу о файлах собирать и как отчет составлять(блин, прямо стих!). Вот. А на счет
Да,Sartorius,ты прав, но: во-первых написание этой проги не лишний опыт, во-вторых, я огда его напишу он будет своим, родным. Да и к тожу же я его смогу без проблем изменять: не понравилось - долой, хочу - будет, сделаю! |
||||
|
|||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 8 Всего: 146 |
CRC мож считать для каждого файла А вообще будет это долго работать , если все файлы проверять. Я бы предложил перехватить виндовую функцию CreateFile & OpenFile (пишу по памяти могут быть ошибки) и мониторить все открываемые файлы на изменение размера , даты, CRC да еще можно что то придумать -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 8 Всего: 158 |
для начала попытайся придерживаться вежливого тона. из твоих слов, я делаю вывод, что критерием "работоспособности" файла для тебя является его успешный запуск вручную. отлично. руками будешь все исполняемые файлы и dll(хм) запускать? а смысл тогда программу писать? к сведению: вирус чаще всего оставляет жертву "рабочей", и при этом вовсе не обязательно изменяет размер жертвы(но обычно таки увеличивает).
обнаруживать присутствие вируса вышеописанным тобой методом во-первых ненадежно, а во-вторых, учитывая сегодняшние объемы хардов, сильно долго. лучше сразу отдать "флаг первенства" Касперу. почти так и делают все антивирусные мониторы. в общих чертах - хук на CreateFile, WriteFile(в действительности ниже сидят). если открываемый файл относится к таргетам вирусов(PE,doc,xls,etc), то включается отслеживание записи - если в записываемых данных присутствует вирусный паттерн, то тревога. ps. короче, писать не отговариваю, но намекаю на бесполезность. |
|||
|
||||
| slava72 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 23.6.2006 Репутация: 1 Всего: 1 |
По поводу FindFirst/FindNext - мне opendir/readdir/vlosedir как-то больше нравятся ))
А теперь по сути проблемы - если NTFS-я - f.e. у файлов могут быть потоки (добавлено для совместимости с надкуешенными яблоками) fopen("virus.dll:1") - пишу по памяти, но где то так ). Как с этим бороться будешь ? |
|||
|
||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
-------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 8 Всего: 146 |
на есть -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
Romikgy, по русски объясни
-------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 8 Всего: 37 |
В NTFS действительно с каждым файлом связано несколько потоков. Например file:stream1, file:stream2 и тп. Фактически вместо одного файла мы имеем сразу несколько...
|
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 8 Всего: 158 |
пару ссылок по потокам:
http://www.ixbt.com/storage/ntfs.html http://www.securitylab.ru/analytics/216379.php и гуглим |
|||
|
||||
| MoZy |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 4.6.2006 Репутация: нет Всего: 0 |
Pilligrim, вот моряк.
Ну вирус тебе спасибо скажет --------------------
Experimentia est optima rerum magistra |
|||
|
||||
| Droll |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 10.11.2004 Репутация: нет Всего: 3 |
А как же скринсейверы? (.scr). Вообще, любой файл может быть запущен, не только по расширению. (Как пример: мой брат играет в игру Lineage II C4 - там есть файл GameGuard.des - он запускается как динамическая библиотека из главного исполняемого файла, имеет типичную структуру РЕ файла). Так делают различные программы для простейшей (и сложной) защиты от взлома. Кроме того, нынешние вирусы могут внедряться в приложения, не изменяя их размеров (за счет структуры PE-файлов), даты создания и даже CRC этих файлов. Так что, поддерживаю dumb - отдайте "флаг первенства" установленному антивирусу и не занимайтесь ерундой. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |