Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.03.2009
Сообщений: 6

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

03.04.2009, 18:21. Показов 1776. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте . Возникла проблема при поиске ехе файла по сигнатуре.
1)Представленная программа должна находить указанный, в соответствии с данной сигнатурой, ехе файл в заданной папке.(В нашем случае текущая директория – диск С).Программа после компиляции выводит сообщениечто не может открыть ни один ехе файл.
File B not open
File v not open
и.т.д.
Скажите в чем может быть причина неполадки?
2)Как кроме этого получить полный путь к найденным файлам?
Платформа выполнения VS С++
Заранее спасибо.

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <string.h>
#include <conio.h>
#include <iostream>
#include <stdlib.h>
#include <winbase.h>

using namespace std;

#define PATH_LEN 128

//смешение 1230h

const char signature[17]={(char)0xc9, (char)0xd4,(char)0xde ,(char)0x77 ,(char)0x1b ,(char)0x76 ,
(char)0xdc,(char) 0x77 ,(char)0x83, (char)0x78 ,(char)0xdc ,(char)0x77,
(char)0xf0 ,(char)0x6b ,(char)0xdc ,(char)0x77,'\0'};

FILE *outFile = fopen("input.txt", "w");
FILE *inFile;
char lpBuffer[PATH_LEN];

void FileFind(char *Dir, bool f)
{
SetCurrentDirectory(LPCWSTR(Dir));
LPWIN32_FIND_DATA ffd = new WIN32_FIND_DATA;
char MZ[] = {(char)0x4D, (char)0x5A};
memset (ffd, 0, sizeof (WIN32_FIND_DATA));
HANDLE hSearch = FindFirstFile (LPCWSTR("*"), ffd);
char str[2];
char sig[17];
//обход файлов в директории
do
{
if ((ffd->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))// если файл директория
{
if (ffd->cFileName[0] != '.' && f)
FileFind((char*)(ffd->cFileName), f);//Вызываем функцию поиска в рекурсии
}

else
{
if (!(inFile = fopen((const char*)(ffd->cFileName), "rb")))
printf("\nFile %s not open\n", ffd->cFileName);
else
{
for (int i = 0; i < 2; i ++)
fscanf(inFile,"%c", &str[i]);
char d[PATH_LEN];
GetCurrentDirectory(PATH_LEN, LPWSTR(d));
if (strcmp(str, MZ) == 0)//Проверяем является ли файл ехе
{
fseek(inFile, 0x1230,SEEK_SET);
for (int i = 0; i < 16; i ++)
if (!feof(inFile))
fscanf(inFile, "%c", &sig[i]);
else
{
fprintf(inFile,"in file %s\\%s signature not found\n", ffd->cFileName);
printf("in file %s\\%s signature not found\n", ffd->cFileName);
FindNextFile(hSearch, ffd);
break;
}
sig[16] = '\0';
if (strcmp(sig, signature) == 0){
fprintf(outFile,"in file %s\\%s SIGNATURE FOUND\n", d,ffd->cFileName);
printf("in file %s\\%s SIGNATURE FOUND\n", d,ffd->cFileName);}
//else
// fprintf(outFile,"in file %s\\%s signature not found\n", d,ffd->cFileName);
}
memset(str, 0, 3);
memset(sig, 0, 16);
fclose(inFile);
}
}
}
while (FindNextFile (hSearch, ffd));
SetCurrentDirectory(LPCWSTR(".."));
_getch();
CloseHandle (hSearch);
delete ffd;

}


void _tmain(int argc,char *argv[])
{
char lpBuffer[PATH_LEN];
bool f = false;

FileFind(lpBuffer, f);

}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.04.2009, 18:21
Ответы с готовыми решениями:

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

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

Как средствами Delphi реализовать извлечение ехе файла при запуске ехе?
Здорова, народ. Как средствами Delphi реализовать извлечение ехе файла при запуске ехе? Заранее спасибо!

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.04.2009, 18:21
Помогаю со студенческими работами здесь

Поиск файлов по сигнатуре
Доброго времени суток! Помогите пожайлуста. Требуется найти необходимый .exe файл по сигнатуре. Я написал функцию для поиска файлов. Только...

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

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

Куда и как внедрять в новую ЕХЕ иконку упаковываемого ЕХЕ?
Привет всем программерам! Давно не заходил я не этот форум. Сделал программу чтото типа упаковщика ЕХЕ. Проблема такая,куда и как...

Структура ехе файла
Где можно подробно прочитать про структуру ехе? мне например надо данные о файле получить, ресурсы, классы, указатели на экспортируемые...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru