![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Unconnected |
![]()
Сообщение
#1
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Нужно представить файл в шестнадцатеричном виде и найти в нём определённую текстовую строку. Вот что я смог:
var f:file of byte; По идее пограмма читает файл "порциями" по 14 символов(строка,которую надо найти,такой длины), потом переводит в шестнадцатеричный вид и, если строка соответствует нужной, останавливает цикл. Только не работает ![]() Сейчас ещё нашёл,что нужно в ASCII виде представить это... Сообщение отредактировано: Unconnected - 28.10.2008 20:13 -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
BinToHex не делает того, чего ты хочешь... Эта процедура берет число (число, а не строку), и возвращает его представление в 16-ричной СС. Тебе что найти-то надо? Файл байтов, допустим, начинается сочетанием байт со значениями от 1 до 14... Тогда приведенная к 16-ричному представлению эта последовательность будет иметь вид:
0102030405060708090A0B0C0D0E Ты будешь искать строки, заданные именно в таком виде? Тогда вот так: if OpenDialog1.Execute then begin |
Unconnected |
![]()
Сообщение
#3
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Volvo, использую код,предложенный тобой, перевёл нужную для поиска строку в HeX, убедился,что она есть в нужном файле(Hex-редактором)...не ищет почему-то...
![]() Код var f:file of byte; s,z,buf:string; x:byte; a,b,bufsize:integer; begin assignfile(f,'C:\owner.mdb'); reset(f); for a := 0 to filesize(f) - 21 do begin s := ''; Seek(f, a); for b := 1 to 21 do begin read(f, X); s := s + IntToHex(X, 2); end; if s='55006e0063006f006e006e00650063007400650064' then begin edit1.text:=s; break; end; end; А вот когда я в качестве S ввёл 00,то бишь точка, то нашло... -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Естественно... Используй большие буквы, а не маленькие. Или
if s=UpperCase('55006e0063006f006e006e00650063007400650064') then begin У меня строка '0E0043006F006E006E006500630074001000440061' спокойно нашлась в mdb-файле... |
Unconnected |
![]()
Сообщение
#5
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Спасибо,получилось!
![]() Сообщение отредактировано: Unconnected - 29.10.2008 15:50 -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Со строками и с потоками - точно есть:
procedure EncodeStream(Input, Output: TStream); // Кодирует поток в Base64 (все функции - из модуля EncdDecd) |
Unconnected |
![]()
Сообщение
#7
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Вопрос не по теме наверно... Вот какое преобразование строки надо сделать, чтобы из '530074006F0072006500640050006100730073007700' получить
'E77D34EF8D34E85D34EF6D34EB9D34EB' ? -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Вопрос действительно не по теме... И я вообще сомневаюсь, стоит ли на него отвечать, потому что кажется мне, что ты пытаешься что-то сделать с паролем? Подобрать хочешь?
По внешнему виду вторая строка похожа на результат хеширования MD4 или MD5 (возможно - в совокупности с другой функцией, или неоднократное применение хеширования)... Больше, извини, на эту тему я ничего говорить не буду... |
Unconnected |
![]()
Сообщение
#9
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Нет,подбирать хеши у меня желания нет никакого, т.к. есть уже много программ для этих целей
![]() Сообщение отредактировано: Unconnected - 31.10.2008 15:08 -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 1:25 |