С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
S9
Волшебник
656 / 259 / 88
Регистрация: 18.12.2010
Сообщений: 545
1

Поиск файлов по сигнатуре

16.04.2011, 22:42. Показов 3617. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Помогите пожайлуста. Требуется найти необходимый .exe файл по сигнатуре. Я написал функцию для поиска файлов. Только подскажите как грамотнее сделать проверку файла на наличии сигнатуры.Заранее спасибо всем откликнувшимся.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
AnsiString SearchFile(AnsiString way,int sign,int min,int max){
//Здесь way - путь к директории,sign - сигнатура файла(или контрольная сумма),
//min и max промежуток,где считается контрольная сумма у найденного файла
    TSearchRec search;
    int search_res;
    int i;
    char cell;
    FILE* TEST_FILE;
    long summa_byte;
    AnsiString maska,resultat;
    char* c_way;
//---------------------------------------------------------------------------
    maska = "*.*";
    search_res = FindFirst(AnsiString(way)+maska,faAnyFile,search);
    while(search_res == 0){
        Application->ProcessMessages();
    if(((search.Attr && faDirectory) == faDirectory)&&
        (search.Name != ".")&&(search.Name != "..")){
        SearchFile(way+search.Name,sign,min,max);
//------------ Проверка найденного файла ------------------------------------
    TEST_FILE = fopen(strcat(way.c_str(),search.Name.c_str()),"rb");
    for(i = min;i <= max;i++){
        fseek(TEST_FILE,i,1);
        fread(&cell,sizeof(char),i,TEST_FILE); //?
        summa_byte = summa_byte+int(cell);
        }
    if(summa_byte == sign){
        resultat = way+search.Name;
        break;
        }
        else{
        resultat = "Файл не найден";
        return(resultat);
        }
    }
    search_res = FindNext(search);
    }
FindClose(search);
}
//---------------------------------------------------------------------------
0
Programming
Эксперт
9485 / 562 / 19
Регистрация: 12.04.2006
Сообщений: 11,671
Блог
16.04.2011, 22:42
Ответы с готовыми решениями:

Поиск файлов по сигнатуре
Добрый день!Пишу программу для поиска файлов по сигнатуре. Как сделать что-бы в файле проверялось...

Поиск по сигнатуре заданного файла в указанной директории
Помогите пожалуйста с задачкой... Поиск по сигнатуре заданного файла в указанной директории....

Поиск ехе файла по сигнатуре. Подскажите пожалуйста
Здравствуйте . Возникла проблема при поиске ехе файла по сигнатуре. 1)Представленная программа...

Чтение файлов, запись и дозапись в файл, поиск файлов в каталоге и поиск данных в файле
2. Создать файлы, в которых будут вмещаться строки с именами студентов и их средними балами. Каждый...

2
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
17.04.2011, 02:12 2
CRC32
1
S9
Волшебник
656 / 259 / 88
Регистрация: 18.12.2010
Сообщений: 545
17.04.2011, 14:33  [ТС] 3
Спасибо! А как сделать чтобы при нахождении файла функция возвращала путь к нему? что-то при тестировании похоже функция этого не делает((
0
17.04.2011, 14:33
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
17.04.2011, 14:33
Помогаю со студенческими работами здесь

Поиск файлов на всех дисках и вывод найденных файлов в одну строку
using System; using System.IO; using System.Collections.Generic; using System.ComponentModel;...

Поиск давних файлов кроме системного диска и системных файлов
Здравствуйте, есть код: string firstAcessedPaths3 = DriveInfo.GetDrives() ...

Расширение файла по сигнатуре
Подскажите программу определяющую расширение файла по его сигнатуре (TrIDNet не подходит)

Ошибка в сигнатуре функции
Выводит: Catchable fatal error: Argument 2 passed to Monitor::log() must be an instance of string,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Блоги программистов
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­хронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9 Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget. . .
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin. Есть ещё регистры,. . .
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru