Я работаю над проектом для своего класса компьютерной безопасности, и у меня есть пара вопросов. У меня была идея написать программу, которая искала бы весь жесткий диск в поисках адресов электронной почты. Я просто ищу адреса, хранящиеся в виде простого текста, так как в противном случае было бы трудно найти что-то другое. Я подумал, что лучший способ найти адреса - использовать регулярное выражение.
Я написал приложение на C #, которое работает довольно хорошо, но я хотел бы узнать, есть ли у кого-нибудь идеи получше. Я полностью готов написать это на другом языке, так как я предполагаю, что C # не лучший для такого рода вещей. До сих пор созданное мной приложение только запускается в C: / и рекурсивно находит все файлы на диске, пропуская те, которые недоступны. Он также пропускает все обычные изображения, видео, аудио, сжатые и файлы более 512 МБ. Это немного ускоряет его, но есть небольшой шанс, что большой файл может содержать что-то полезное. Создание списка файлов занимает около 12 секунд, и я предполагаю, что около часа, чтобы проверить их все. Недостатком является то, что при сканировании используется около 50% процессора.
Я ищу идеи о том, как улучшить поиск. Есть ли более быстрый, более эффективный, более тщательный способ и тому подобное? Я пытался думать, есть ли какой-нибудь способ, которым вы могли бы сказать, будет ли файл содержать текстовые строки или нет. Просто дайте мне знать, если у вас есть интересные идеи. Благодарю.