![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Rever |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.7.2009 Репутация: нет Всего: нет |
Мне нужно организовать поиск сигнатуры.
Допустим есть сигнатура (ну например ca64a10a706173c4776f7d72e1d) Есть файл file.exe Нужно определить присудствует ли сигнатура в файле. Как это сделать, а то толком ниче не понял, помогите плз! Зарание спасибо! |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
как подстрока? или как хеш сумма какого-то блока? |
|||
|
||||
Rever |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.7.2009 Репутация: нет Всего: нет |
Эм, я даж и не знаю=)
Какнибудь, прост найти сигнатуру эту, пример просто нужен Вообщем принцип нужен можно сказать как в антивирусниках Это сообщение отредактировал(а) Rever - 10.4.2010, 11:05 |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
уже лучше ![]() осталось узнать, какого алгоритма эта хеш сумма? Добавлено через 54 секунды странно, 27 знаков ![]() |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
boostcoder, это не хеш, а сигнатура. Часть бинарного кода файла или его заголовка, данных.
Rever, Читаешь файл в бинарном режиме побайтно. Сравниваешь первый байт файла с первым байтом сигнатуры. Совпали. Сравниваешь со вторым и последующими. Не совпали. Читаешь второй байт файла и снова сравниваешь с первым байтом сигнатуры. Это сообщение отредактировал(а) W4FhLF - 10.4.2010, 11:27 -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
крайне сложно понять, что ТС имеет именно это в виду. |
|||
|
||||
Rever |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.7.2009 Репутация: нет Всего: нет |
Ну эту сигнатуру взял с какойто базы антивиря=)
ну допустим что есть какаято сигнатура , алгоритм MD5 |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
Так сигнатура или хеш или хеш сигнатуры или хеш файла, в котором сигнатура?
![]() А потом иди учи основы программирования. И вопросы задавай в раздел для новичков. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
assasincore |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 13.4.2010 Репутация: нет Всего: нет |
ca64a10a706173c4776f7d72e1d - Не факт что это последовательность байт. Полный ли это кусок?
ca64 a1 0a 70 61 73c4 776f 7d 72 e1d Это может быть. MD5 CRC. Сткрутура Пример struct SignPattern { DWORD offset; DWORD crc32; }; struct DescSignatru { SignPattern pattern1; SignPattern pattern1; }; П.С. 15 байтная последовательность очень маленькая что бы быть сигнатурой. Так что это либо структура либо CRC(MD5 или еще че... ) П.С. Если дизассембилировать последовательность то получим. 0100149C > CA 64A1 RETF 0A164 ; Far return 0100149F 0A70 61 OR DH,BYTE PTR DS:[EAX+61] 010014A2 ^73 C4 JNB SHORT IzSrv.01001468 010014A4 77 6F JA SHORT IzSrv.01001515 010014A6 7D 72 JGE SHORT IzSrv.0100151A 010014A8 ^E1 CC LOOPDE SHORT IzSrv.01001476 И это можеть байть последовательность байт для создание сигнатры? нет... Rever При все при том что я на форме новенький, тебе к новичкам. Знай свое место школота.. Да и к тому где уверенность что вы взяли кусок сигнатуры? |
|||
|
||||
jhonyxakep |
|
|||
![]() Divide Et Impera ![]() ![]() Профиль Группа: Участник Сообщений: 983 Регистрация: 7.4.2009 Где: Что, Когда? Репутация: нет Всего: 8 |
assasincore, мда грузанул....
Rever, может тебе надо просто вычислить хеш файла? В общем сигнатура - это запись в базе данных вирусов, если брать антивирусы то это сочетание имени вируса, разнообразных данных о нем, и его сигнатуры. При помощи хеша можно сравнить 2 файла (к примеру тело вируса пойманное в антивирусной лаборотории, и у пользователя на компе) не храня при этом в базе весь файл, или большую его часть... Другое дело что если вам требуется(хочется ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |