12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502

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

25.04.2020, 22:50. Показов 4235. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. Появилась такая задачка, найти определенную последовательность байт в файле.
Если последовательность из четырех байт то тут все просто.
DWORD sign = *(DWORD *)((DWORD_PTR)адресс);
А если сигнатура из семи байт?
Сейчас я проверяю DWORD, подом следующий за ним WORD, а потом последний байт.
Но это как то неправильно. Более того возможно надо будет искать по маске.Подскажите пожалуйста как лучше подобное сделать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.04.2020, 22:50
Ответы с готовыми решениями:

Не работает поиск сигнатуры
Доброго времени суток. Задач - найти адрес в памяти по известной сигнатуре. В Си новичек. Перелопатил нет, из нарытого накодил: #include...

Поиск сигнатуры в директории
Как осуществить поиск сигнатуры в директории и поддиректории, на языке Shell. Очень надо)) Кто знает напишите, будьте добры.

Поиск сигнатуры в памяти процесса
как искать сигнатуру в памяти процесса тип такой АА 00 АА 00 00 АА (найдет куча адресов) потом в игре бросит предмет и искать дале в...

22
фрилансер
 Аватар для Алексей1153
6500 / 5731 / 1133
Регистрация: 11.10.2019
Сообщений: 15,338
05.06.2020, 21:52
Студворк — интернет-сервис помощи студентам
zombivadim,
C++
1
2
3
4
5
6
7
8
std::vector<uint8_t> vec{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA};
const std::vector<uint8_t> sign{ 0x90, 0x4B, 0x5A};//0x5A4B90
 
auto first=std::search(vec.begin(), vec.end(), sign.begin(), sign.end());
if(first!=vec.end())
{
     //first - нашлось
}
Добавлено через 2 минуты
со строками такая же хурма ))
C++
1
2
3
4
5
6
7
8
std::string vec{"FFFFFFFFFFFFFFFF0A"};
const std::string sign{"5A4B90"};//0x5A4B90
 
auto first=std::search(vec.begin(), vec.end(), sign.begin(), sign.end());
if(first!=vec.end())
{
     //first - нашлось
}
0
12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502
05.06.2020, 21:58  [ТС]
Хорошо на входе у меня
CString temp = _T("FFFFFFFFFFFFFFFFA");
Теперь мне нужно найти дамп байтов FF FF FF FF FF FF FF FF FA..
char s[] = ???

Добавлено через 2 минуты
CString temp я заранее не имею понятия что в ней.
В ручную я не напишу
char arr[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA, };
0
фрилансер
 Аватар для Алексей1153
6500 / 5731 / 1133
Регистрация: 11.10.2019
Сообщений: 15,338
05.06.2020, 22:01
ну так и ищи строки
C++
1
2
3
4
5
CStringW temp = L"FFFFFFFFFFFFFFFFA";
int pos=temp.Find(L"5A4B90");
if(pos>=0)
{
}
Добавлено через 44 секунды
или пропарси и сделай из строки сырой массив. Смотри, как тебе удобнее
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.06.2020, 22:01

Поиск сигнатуры в памяти процесса и подключение к нему
По заголовку темы все понятно. Как сделать, что бы после нажатия на кнопку программа искала во всех процессах сигнатуру или несколько и...

Подпрограмма. Написать процедуру, проверяющую файл на вирусы. Сигнатуры вирусов задаются строками ASCll-символов в файле signs.dat
вот задание:дан файл, содержащий произвольные символы, являющийся исполнительным в некоторой системе Executer. Написать...

Поиск в текстовом файле всех слов, заданных в другом текстом файле
Вообщем такое задание: Поиск в текстовом файле всех слов, заданных в другом текстом файле; Не могу понять почему не работает: ...

Поиск значений в файле и замена соответствующих в другом файле
Сильно не пинайте, я новичок. Существует 2 файла. В первом (1.txt) текст: 123=qwerty 321=пример 12457=еще пример Во втором...

Поиск в текстовом файле последовательностей цифр по шаблону и последующий их поиск в именах файлов (с логом)
Уважаемые программисты и хорошие люди! К Вам обращается украинский юрист. Очень нужен bat-файл или скрипт, который решает такую задачу: ...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Опции темы

Новые блоги и статьи
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru