|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.10.2011, 21:29 | #1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Поиск текста в массиве Char, массив берётся у бинарного файла(exe, dll)
Доброго времени суток!
Имеется exe в котором планируется найти некоторый текст и опираясь на него, делать выводы. Допустим я хочу найти текст "ASDX", что я делаю: Код:
Однако при попытке найти в массиве "ASDX" - ничего не находит. Однако в HEX-редакторе этот ASDX успешно зависает в первой 1000 знаков... В run-time из под отладчика, содержимое массива отображается, но там есть только "#123#123#123" вот такого вида обозначения.. а нужно найти именно текст ASDX. Кодю на Delphi XE.. Что я не так делаю? Последний раз редактировалось Человек_Борща; 04.10.2011 в 21:33. |
04.10.2011, 22:04 | #2 |
Я не простой
Пользователь
Регистрация: 29.09.2011
Сообщений: 77
|
Эм.., в кодировке может проблема?
Попробуй так читать: Код:
Знание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нем сведения
Последний раз редактировалось _Troy; 04.10.2011 в 22:45. Причина: Дописал... |
04.10.2011, 22:06 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
04.10.2011, 22:20 | #4 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Аватар, нет. Писался прямо тут..
А что не так? Если зделать 0..1000 получается массиве 1001 элемент. А если 1..1000, то 1000 элементов, однако 0..999 тоже 1000 элементов. Просто я с нулём считаю. Или 0 не в счёт? Но сути не меняет.. загребаю 1000(да хоть весь файл) знаков у exe файла при помощи TFileStream и текста там нет, но есть #знаки. Хотя в WinHex говорит о том, что нужный мне текст есть в этой 1000 знаков. Может проблема и в кодировке, как это решается? Последний раз редактировалось Человек_Борща; 04.10.2011 в 22:23. |
04.10.2011, 22:29 | #5 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Для Д7 function Pos(Substr: string; S: string): Integer
В XE не работаю, но если там такой же формат, то оба параметра в юникоде. Массив сделать AnsiChar, да и параметр поиска в AnsiString наверно , а какая функция для поиска смотрите сами Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 04.10.2011 в 22:40. |
|
04.10.2011, 23:01 | #6 |
Я не простой
Пользователь
Регистрация: 29.09.2011
Сообщений: 77
|
Человек_Борща, дай exe этот - проверить хочу)
Знание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нем сведения
|
04.10.2011, 23:09 | #7 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
да любой exe,dll открой hex-редактором... и найди там строку затем попробуй найти её в delphi.
|
04.10.2011, 23:30 | #8 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 489
|
Например так:
Код:
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
Последний раз редактировалось chertovich; 04.10.2011 в 23:39. |
08.10.2011, 00:29 | #9 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
chertovich, ваш способ действительно работает...
Код:
На файл размером 10 кб тратиться 50 ms На файл 1 мб затрачивается 5 секунд или 5247 ms Следовательно на файл размером, скажем 10 мб, будет затрачено 50 секунд. Можно ли быстрее? вообще у меня задача: Открыть exe, считать 1100 байт, перевести их в строку и там найти версию упаковщика(при помощи рерулярного выражения). Последний раз редактировалось Человек_Борща; 08.10.2011 в 01:56. |
08.10.2011, 09:36 | #10 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,885
|
Что мешает сделать
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
квадраты вместо текста | i-ula | Microsoft Office Word | 1 | 06.06.2011 19:18 |
мемо. вместо текста цифры | maloun | C++ Builder | 5 | 02.02.2011 17:51 |
Как вставить кусок текста в текст | Tomatos | Общие вопросы Delphi | 5 | 24.09.2009 21:00 |
получить кусок из адреса | memka | PHP | 3 | 08.04.2009 12:52 |
ссылка вместо текста!!! | Abbatik | Помощь студентам | 7 | 09.02.2008 13:29 |