Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2011, 02:59   #1
Pecho
Пользователь
 
Регистрация: 23.11.2010
Сообщений: 37
По умолчанию Проверка расширения файла

Доброго времени суток, уважаемы форумчане!

Вопрос таков: можно ли проверить, является ли файл с заданным разрешением, например, *.exe на самом деле исполняемым?

Вот так получаем список исполняемых файлов в каталоге (в C#) :
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //получаем список exe-файлов в каталоге
            string[] dirs = Directory.GetFiles(@"D:\", "*.exe");
            Console.WriteLine(dirs.Length);
            //вывод на экран этих exe-файлов
            foreach (string dir in dirs)
            {
                Console.WriteLine(dir);
            }
 
            Console.ReadLine();
        }
    }
}
У исполняемых файлов существует своя типизированная структура, возможно ли брать exe-файл и сверять его с некой такой "эталонной" структурой?
То, что можно при помощи
Код:
FileInfo Info = new FileInfo(FileName);
Console.WriteLine(Info.Extension);
получить расширение файла я знаю, меня интересует именно "проверка на истинность"
Мне не обязательно использовать C#, можно привести примеры на C/C++
Ну или просто алгоритм, без программной реализации
Если это поможет с ответом на мой вопрос
Pecho вне форума Ответить с цитированием
Старый 25.09.2011, 10:21   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

проверить файл "по настоящему", имхо, очень сложно. Нужно разбирать его структуру. И поверьте мне, что это дело не пяти минут.
Может быть, Вам будет достаточно проверить наличие MZ в начале файла (это обязательное условие, первые два байта должны быть такие). Разумеется, наличие этих байтов это не означает 100%, что перед Вами именно EXE, зато их отстутствие 100% говорит о том, что данный файл не EXE.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверка расширения Михаил Юрьевич Общие вопросы Delphi 6 21.01.2014 13:18
PHP и проверка расширения файла... MaGWaY_minsk PHP 3 26.10.2009 10:23
Проверка расширения файла Михаил Юрьевич Общие вопросы Delphi 6 20.09.2009 22:22
Получение расширения файла AndreyFreemant Общие вопросы Delphi 2 16.04.2009 09:29
Проверка расширения файла Mickle Общие вопросы Delphi 2 04.05.2007 16:41