Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: PE Viewer 3.0 
Author Message
iteg



PostPosted: Wed Sep 13, 2023 15:16    Post subject: Reply with quote

Алгоритм PES делает нечеткий поиск. Проценты это количество совпавших байтов деленное на количество известных байтов в сигнатуре. Если сигнатура полностью совпала, то проценты не выводятся и алгоритм завершается. Иначе алгоритм пробегается по всем сигнатурам и в конце выводит сигнатуру с наибольшим процентом совпадений, которое должно быть больше 80%.
153 / 159 * 100 = 96%

Алгоритм PEiD ищет 100% совпадение.

Как ранее писал PES и PEiD делают поиск только с начала EP.

Для проверки сигнатуры необходимо:
1) Узнать EP в файле (Entry Point Raw Offset) на вкладке Info.
2) В шестнадцатеричном редакторе перейти до данному смещению и проверять сигнатуру. Некоторые редакторы позволяют делать поиск Hex-паттерна с подстановочными символами.
3) Для PES символы "::" и для PEiD "??" означают произвольное значение байта.

Для LockHunter64.RUS:
PES нашел неточное совпадение "MEW 11 SE v1.2 (96%)". Сигнатура "Morphine v1.2 (DLL)" из Signs.txt не подошла (длиннее), т.к. отличается от одноименной в UserDB.txt
Для "Morphine v1.2 (DLL)" разные сигнатуры в базах Signs.txt (1шт.) и UserDB.txt (2шт.)
PEiD нашел точное соответствие.
Интересно то, что сигнатура "MEW 11 SE v1.2" не должна подходить, т.к. если посмотреть на нее, то первым байтом идет E9, а первый байт в файле с EP (0x00000400) идет 55. Но из-за неточного поиска (шумы) получаем 153 (совпало) / 159 = 96%.

Для MediaDB.dll:
Проблема, когда сигнатуры дают положительный результат поиска, но играет роль расположения сигнатуры в базе.
PE Shiffer
Borland Delphi 3.0 (???) - Signs.txt, 24 строка.
Armadillo v4.x - Signs.txt, 291 строка.
PEiD
Armadillo v4.x - UserDB.txt, 1973 строка.
Borland Delphi 3.0 (???) - UserDB.txt, 2417 строка.

Поиск по сигнатурам дает коллизии.

Стоит ли выводить номер найденной сигнатуры, а также соотношение совпавших байт к количеству явных байт?
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group