Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перепись "Населения ПК" просто: опись файлов, хочу составить описание контента ПК 
V
    Опции темы
Pilligrim
  Дата 15.7.2006, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 9.6.2006

Репутация: 1
Всего: 1



 smile 
В общем вопрос выглядит так:
Как мне перечислит все файлы ПК (ВСЕ), т.е. надо хендлы всех файлов. Хранить их мне не надо, надо только единоразово получить к ним доступ и забыть. Это нужно для заполнения структуры примерно такого содержания: 1.размер файла, 2.дата модификации и 3.создания. Вот. Заполнение структуры знаю как реализовать. Нужно только хендлы всех файлов.

Помогите Please! 
PM MAIL   Вверх
DeadSoul
Дата 15.7.2006, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



1. FindFirstFile+FindNextFile 
2. CFileFind
3. http://boost.org/libs/filesystem/doc/index.htm 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Pilligrim
  Дата 15.7.2006, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 9.6.2006

Репутация: 1
Всего: 1



 smile 
Это конечно всё правильно,я это и сам думал использовать, но: предположми ф-ия FindFirstFile нашла файл "a.a", вернула мне его хендл, я его сую в ф-ию FindNextFile, и она ищет файлы с таким же именем, а мне нужны все(!). И кстати, как FindNextFile использует указатель на WIN32_FIND_DATA? Заполняет его для новых найденных или как? В общем это не катит, прога мне найдет все файлы имя которых совпадает с именем первого попавшегося файла, а мне нужны все(!). 
PM MAIL   Вверх
DeadSoul
Дата 15.7.2006, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Pilligrim, а MSDN на эту тему почитать\воспользоватся поиском по форуму слабо? 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Pilligrim
  Дата 15.7.2006, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 9.6.2006

Репутация: 1
Всего: 1



 smile 
Думаешь не пробовал? 
PM MAIL   Вверх
Daevaorn
Дата 15.7.2006, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



Цитата(Pilligrim @  15.7.2006,  21:03 Найти цитируемый пост)
FindFirstFile нашла файл "a.a", вернула мне его хендл, я его сую в ф-ию FindNextFile и она ищет файлы с таким же именем, а мне нужны все(!). 

Ты что?!
Эти функции могут искать "все" файлы. Кури msdn!  

Это сообщение отредактировал(а) Daevaorn - 15.7.2006, 20:53
PM MAIL WWW   Вверх
Pilligrim
Дата 15.7.2006, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 9.6.2006

Репутация: 1
Всего: 1



smile 
У меня есть справка по API. Там всё это есть. И я так понял Daevaorn, что ты хочешь сказать, если я, укажу имя файла как "С:\?", то эти функции перечислят все файлы по очереди? Так? Ладно, тогда подскажи как быть с функцией FindNextFile, как она использует указатель на WIN32_FIND_DATA? Заполняет его для новых найденных или как? Там не сказано...   

Это сообщение отредактировал(а) Pilligrim - 15.7.2006, 21:13
PM MAIL   Вверх
Daevaorn
Дата 15.7.2006, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



Pilligrim, тебя же уже не раз посылали в msdn:) Там всё написано: куда, что и как.
http://msdn.microsoft.com/library/default....a_directory.asp 
PM MAIL WWW   Вверх
Pilligrim
Дата 15.7.2006, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 9.6.2006

Репутация: 1
Всего: 1



 smile 
А нельзя ли эту MSDN библиотечку качнуть себе на комп? 
PM MAIL   Вверх
En_t_end
Дата 16.7.2006, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: 1
Всего: 20



Pilligrim, 
Цитата(Pilligrim @  16.7.2006,  01:17 Найти цитируемый пост)
А нельзя ли эту MSDN библиотечку качнуть себе на комп? 

smile 
PM MAIL ICQ Skype GTalk Jabber   Вверх
DeadSoul
Дата 16.7.2006, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Цитата(En_t_end @  16.7.2006,  17:19 Найти цитируемый пост)
Pilligrim, 
Цитата(Pilligrim @  16.7.2006,  01:17 )
А нельзя ли эту MSDN библиотечку качнуть себе на комп? 
  

Это 2-3 CD. Проще купить
 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
MoZy
Дата 16.7.2006, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 4.6.2006

Репутация: нет
Всего: 0



Pilligrim, а ты уверен, что вирусяга не сможет поставить дату изменения такую, какую ему надо ? smile 
Все-таки тебе еще что-то нужно, чтобы засечь. Может весь контент копировать  smile 

Не кашляй!  

Это сообщение отредактировал(а) MoZy - 16.7.2006, 19:05
--------------------
Experimentia est optima rerum magistra
PM MAIL WWW ICQ   Вверх
Pilligrim
  Дата 18.7.2006, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 9.6.2006

Репутация: 1
Всего: 1



Цитата

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

Конечно может! Флаг ему в руки. Пусть меняет, а я ещё и размерчик файла засеку. Вот! А уж тут не отвертишься... А если он какую-то часть файла просто заменит куском себя, то тогда я это пойму по неработоспособности файла. Так что всё ОК! smile  smile  
PM MAIL   Вверх
dumb
Дата 18.7.2006, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 8
Всего: 158



что есть "неработоспособность файла"? и как ты ее будешь вычислять?

не совсем понял, чего ты добиваешься. одно можно сказать точно - антивирусный монитор у тебя не получится. 
PM MAIL   Вверх
Pilligrim
Дата 18.7.2006, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 9.6.2006

Репутация: 1
Всего: 1



Цитата
что есть "неработоспособность файла"? и как ты ее будешь вычислять?

 smile 
Интересный вопрос, если учитывать, что как потенциально подверженные заражению - это либо исплняемые файлы, либо DLL(остальное заражать нет смысла). Теперь,dumb понял? Просто запущу и пойму, что он поврежеден! Просто не правда ли?
Цитата
не совсем понял, чего ты добиваешься. одно можно сказать точно - антивирусный монитор у тебя не получится. 

Смотря, что ты так называешь... Необязательно засечь какой вирус и где он, достаточно обнаружить его присутствие, а потом отдать флаг первенства Касперу, например. 
PM MAIL   Вверх
Sartorius
Дата 18.7.2006, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 8
Всего: 37



 Организуй рекурсивный обход всего дерева каталогов. Получишь полный список всех файлов диска.
Если тебе такой контроль файловой системы для себя только нужен, я бы посоветовал какой нить файл-монитор скачать, коих навалом. 
PM MAIL ICQ   Вверх
Pilligrim
Дата 18.7.2006, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 9.6.2006

Репутация: 1
Всего: 1



 smile 
Цитата
Организуй рекурсивный обход всего дерева каталогов.

Я его уже организовал(но всё равно спаисбо за помощь), сейчас думаю какую инфу о файлах собирать и как отчет составлять(блин, прямо стих!). Вот. А на счет
Цитата
я бы посоветовал какой нить файл-монитор скачать, коих навалом.
 
Да,Sartorius,ты прав, но:
во-первых написание этой проги не лишний опыт, во-вторых, я огда его напишу он будет своим, родным. Да и к тожу же я его смогу без проблем изменять: не понравилось - долой, хочу - будет, сделаю! 
PM MAIL   Вверх
Romikgy
Дата 18.7.2006, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



Цитата(Pilligrim @  18.7.2006,  20:00 Найти цитируемый пост)
ейчас думаю какую инфу о файлах собирать и как отчет составлять

CRC мож считать для каждого файла smile
А вообще будет это долго работать , если все файлы проверять. Я бы предложил перехватить виндовую функцию  CreateFile & OpenFile (пишу по памяти могут быть ошибки) и мониторить все открываемые файлы на изменение размера , даты, CRC  да еще можно что то придумать smile 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
dumb
Дата 19.7.2006, 04:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 8
Всего: 158



Цитата(Pilligrim @  18.7.2006,  20:32 Найти цитируемый пост)
Интересный вопрос, если учитывать, что как потенциально подверженные заражению - это либо исплняемые файлы, либо DLL(остальное заражать нет смысла). Теперь,dumb понял? Просто запущу и пойму, что он поврежеден! Просто не правда ли?

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

Цитата(Pilligrim @  18.7.2006,  20:32 Найти цитируемый пост)
Необязательно засечь какой вирус и где он, достаточно обнаружить его присутствие, а потом отдать флаг первенства Касперу, например. 

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

Цитата(Romikgy @  18.7.2006,  21:08 Найти цитируемый пост)
перехватить виндовую функцию  CreateFile & OpenFile (пишу по памяти могут быть ошибки) и мониторить все открываемые файлы на изменение размера , даты, CRC  да еще можно что то придумать

почти так и делают все антивирусные мониторы. в общих чертах - хук на CreateFile, WriteFile(в действительности ниже сидят). если открываемый файл относится к таргетам вирусов(PE,doc,xls,etc), то включается отслеживание записи - если в записываемых данных присутствует вирусный паттерн, то тревога.

ps. короче, писать не отговариваю, но намекаю на бесполезность. smile
 
PM MAIL   Вверх
slava72
Дата 19.7.2006, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 23.6.2006

Репутация: 1
Всего: 1



По поводу FindFirst/FindNext - мне opendir/readdir/vlosedir как-то больше нравятся ))

А теперь по сути проблемы - если NTFS-я - f.e. у файлов могут быть потоки (добавлено для совместимости с надкуешенными яблоками) fopen("virus.dll:1") - пишу по памяти, но где то так ). Как с этим бороться будешь ? 
PM MAIL   Вверх
DeadSoul
Дата 19.7.2006, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Цитата(slava72 @  19.7.2006,  10:38 Найти цитируемый пост)
файлов могут быть потоки 

Какие потоки у файлов? 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Romikgy
Дата 19.7.2006, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



Цитата(DeadSoul @  19.7.2006,  20:18 Найти цитируемый пост)
Какие потоки у файлов?  

на
Цитата(slava72 @  19.7.2006,  09:38 Найти цитируемый пост)
NTFS

есть 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
DeadSoul
Дата 19.7.2006, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Romikgy, по русски объясни 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Sartorius
Дата 19.7.2006, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 8
Всего: 37



 В NTFS действительно с каждым файлом связано несколько потоков. Например file:stream1, file:stream2 и тп. Фактически вместо одного файла мы имеем сразу несколько... 
PM MAIL ICQ   Вверх
dumb
Дата 19.7.2006, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 8
Всего: 158



PM MAIL   Вверх
MoZy
Дата 20.7.2006, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 4.6.2006

Репутация: нет
Всего: 0



 smile 
Pilligrim, вот моряк. 
Цитата
Просто запущу и пойму

Ну вирус тебе спасибо скажет  smile 
--------------------
Experimentia est optima rerum magistra
PM MAIL WWW ICQ   Вверх
Droll
Дата 20.7.2006, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 10.11.2004

Репутация: нет
Всего: 3



Цитата(Pilligrim)

Интересный вопрос, если учитывать, что как потенциально подверженные заражению - это либо исплняемые файлы, либо DLL(остальное заражать нет смысла).

А как же скринсейверы? (.scr).

Вообще, любой файл может быть запущен, не только по расширению. (Как пример: мой брат играет в игру Lineage II C4 - там есть файл GameGuard.des - он запускается как динамическая библиотека из главного исполняемого файла, имеет типичную структуру РЕ файла).
Так делают различные программы для простейшей (и сложной) защиты от взлома.

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

Так что, поддерживаю dumb - отдайте "флаг первенства" установленному антивирусу и не занимайтесь ерундой. 
PM   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1106 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.