![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Всем привет.
если просматривать любой ехе-файл (или любого другого типа) блокнотом , то видно, что в нем есть некоторые вполне читаемые слова. Как можно быстро считать файл и проверить, есть ли нужная строка, видимая в блокноте, в ехе-файле? могу считывать ехе-файл по байту, добавлять каждый байт(символ) в строку и сравнивать, но это долго, особенно если нужно искать среди большого количества файлов спасибо за ответ |
|
#2
|
||||
|
||||
|
Это не совсем тривиальная задача, т.к. есть разные типы строк (анси, юникод, паскалевский тип и т.п.).
|
|
#3
|
||||
|
||||
|
Напиши на АСМе
![]() Когда ты сравниваешь две строки, все равно у тебя сравниваются посимвольно. Поэтому иного способа просто нет. Если хочешь ускорить - напиши на встроенной асме. Ну и конечно желательно грузить ток 1й символ, и сравнивать его, и если он равен - тогда начинать работать с остальными. Еще для ускорения можно копировать весь файл в оперативку одним блоком. Или по частям. Побайтово просмотреть пару мегов оперативы быстрее, чем пару мегов файла с диска. |