Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2011, 11:00   #1
egorzenit
Пользователь
 
Регистрация: 05.07.2011
Сообщений: 60
По умолчанию Вопрос с сигнатурой

Всем привет.хотел бы узнать пару вещей от гуру дельфи . вообщем есть такая идея вообщем есть файл и есть длл(а может и нет его) и у них есть сигнатура,вот вопрос можно ли её изменить? то есть например написать прогу которая будет генерить новую сигнатуру exeшника реально ли такое?если нет то можно ли на других языках это сделать?
egorzenit вне форума Ответить с цитированием
Старый 05.07.2011, 12:38   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

какую сигнатуру вы имеете в виду?
p51x вне форума Ответить с цитированием
Старый 05.07.2011, 12:51   #3
egorzenit
Пользователь
 
Регистрация: 05.07.2011
Сообщений: 60
По умолчанию

ну вот к пример у каждого файла есть сигнатура если это сигнатура есть в базе то например антивирус будет ругатся.вот я о ч ем
egorzenit вне форума Ответить с цитированием
Старый 05.07.2011, 12:58   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Сигнатура это по идее небольшой кусочек файла, который в базе антивируса хранится. Разработчики антивируса сами решают какой кусок кода вируса будет сигнатурой
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.07.2011, 15:55   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
Сообщение от egorzenit Посмотреть сообщение
Всем привет.хотел бы узнать пару вещей от гуру дельфи . вообщем есть такая идея вообщем есть файл и есть длл(а может и нет его) и у них есть сигнатура,вот вопрос можно ли её изменить? то есть например написать прогу которая будет генерить новую сигнатуру exeшника реально ли такое?если нет то можно ли на других языках это сделать?

Фантпзия ограничена компилятором.
Можно все, но прежде чем делать, задай себе вопрос "А надо ли это?".

Сигнатурой может быть что угодно. Начиная куском файла, и заканчивая хешами и повадками файла.


Сигнатура exe - понятие растяжимое.
Там можно поменять Image Base или Entry Point или что-нибудь ещё. В общем что угодно. Было бы только понимание работы exe, и то как правильно его изменять.

Почитай о структуре PE формата.


Код:
Разработчики антивируса сами решают какой кусок кода вируса будет сигнатурой
оБычно сигнатура которая имеет устойчивые байты в определённой позиции файла.
E4????D5??A1?000?54 - казалось бы бессмыслица, но это тоже можно считать сигнатурой.
На месите ? - может быть любой байт. Но обязательное условие это, то что указанные в строке байты не изменяются, какбы вы не меняли exe. Но придумать механизм отлова таких байтов в exe,dll etc. - дело очень не простое. Это вам не тектовый файл в utf.

Кстати о тектовиках:
У файла кодированного в UTF8(NoBOM) всегда первые 3 байта = $EF $BB $BF

Или пример кодировок символов в текте.
Как они определяются?
Просто у каждой кодировки есть свои вариант записи букв, цифр и тд. И все это байты=) Программа не умеющая распределять кодировку utf8 открет файл но его содержимое будет ввиде ♦Ӕҵ0ぐ䆍Ճ㒦㒦㒦㒦㒦㒦㒦

Последний раз редактировалось Человек_Борща; 05.07.2011 в 16:06.
Человек_Борща вне форума Ответить с цитированием
Старый 05.07.2011, 16:05   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
У файла кодированного в UTF8 всегда первые 3 байта
нет.
он может быть записан без BOM. и не будет этих трех байт.(что вполне естественно для php файлов например)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.07.2011, 16:11   #7
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

имхо, проще написать автору антивира, чтобы он исключил ложное срабатывание
погугли report false positive
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по С++ savva Общие вопросы C/C++ 1 08.04.2011 07:33
Вызвать функцию с известной сигнатурой для неизвестного класса. Интерфейс Ferrum26 Общие вопросы Delphi 4 22.07.2010 14:26
Вопрос по mySQL + Вопрос по RichEdit HTL Общие вопросы Delphi 4 01.01.2010 20:22
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10