|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.03.2016, 10:23 | #1 |
Регистрация: 03.03.2016
Сообщений: 5
|
Поиск сигнатуры в файле
Нужно создать программу наподобие антивируса. Из файла tracert.exe в папке windows нужно взять сигнатуру (не менее 16 знаков (цифр)),ее нужно вписать в программу как константу.Далее эту сигнатуру программа должна проверять в каждом файле,который там есть. Если она будет такая же,программа должна выдать этот файл и путь к нему. Когда программа закончит все эти файлы проверять,то она должна написать "поиск окончен"
Знаю, что нужно пользоваться программой winhex. |
03.03.2016, 10:45 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
WinHex не особо нужен здесь.
для поиска можете воспользоваться темами: http://www.programmersforum.ru/showthread.php?t=196864 http://www.programmersforum.ru/showthread.php?t=201993 |
03.03.2016, 12:24 | #3 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Меня больше интересует, почему именно tracert.exe, и с какого смещения сигнатуру брать-то? Поиск по стриму - это отдельная история. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
03.03.2016, 17:30 | #4 |
Регистрация: 03.03.2016
Сообщений: 5
|
16 знаков любых с файла tracert.exe и по ним искать этот файл в каталоге
|
03.03.2016, 17:35 | #5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
не факт, конечно, что такие же точно 16 байт подряд не найдутся в другом файле, но идея ясна. Как делать Вам выше рассказали. Можно смело приступать к реализации поиска. к слову, а Паскаль у Вас какой? |
|
03.03.2016, 17:45 | #6 |
Регистрация: 03.03.2016
Сообщений: 5
|
Turbo,ABC,Lazarus
|
03.03.2016, 17:46 | #7 |
Регистрация: 03.03.2016
Сообщений: 5
|
то что прислали выше, не то что надо.
|
03.03.2016, 17:47 | #8 |
Регистрация: 03.03.2016
Сообщений: 5
|
uses Dos;
type buf = array [1..16] of byte; const signature:buf = ($0F,$7F,$44,$24,$28,$89,$44,$24,$3 8,$B8,$17,$00,$00,$00,$49,$8D); var scanF: file; block:byte; s:searchRec; CurDir:string; procedure findSign(const findFile: string) ; var i:integer; begin assign(scanF, findFile); reset(scanF,1); i:=1; while not EoF(scanF) do begin blockread(scanF, block, 1); if block=signature[i] then begin if i=16 then write(' - НАЙДЕНА СИГНАТУРА!!!'); else i:=i+1; end else i:=1; end; end; begin chdir('C:\windows\system32'); findFirst('*.*',$01+$02+$04+$20,S); while DosError = 0 do begin if (s.Name<>'.') and (s.Name<>'..') then begin Write(' файл:',s.Name:14); end; findSign(s.name); FindNext(s); writeln; end; writeln('Поиск окончен, нажмите "Enter"'); readln; end. Вот есть программаm, но она почему-то ищет все файлы в папке, а не только tracert |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Быстрый поиск сигнатуры HEX в файле, как это делается? | Человек_Борща | Общие вопросы Delphi | 3 | 02.12.2012 15:47 |
Поиск сигнатуры в памяти процесса | Crystallon | Общие вопросы Delphi | 8 | 26.09.2011 23:01 |
Поиск данных в текстовом файле (в самом файле! а не в Memo и не загружая всю инфу из файла в одну строку | glagoff | Помощь студентам | 1 | 05.05.2010 13:00 |
Поиск в файле | Cdevelop | Общие вопросы C/C++ | 5 | 16.03.2009 19:49 |
Поиск в файле | asale | Microsoft Office Excel | 1 | 15.05.2007 23:33 |