View previous topic :: View next topic |
Author |
Message |
iteg
Joined: 01 Dec 2011 Posts: 69
|
(Separately) Posted: Mon Sep 11, 2023 19:59 Post subject: |
|
|
1) yozhik
Quote: | Косметика 5) и 6) из этого поста, пока, наверное, руки не дошли? Скромное напоминание Smile |
Да, пометил себе в лист ToDo.
2) imig73
Quote: | Хотелось бы видеть основную информацию крупно |
Изменить размер шрифта можно через файл "PEViewer_config.ini.sample" в папке установки плагина. Необходимо убрать расширение ".sample" и задать нужное значение.
3) burav
Базу PEiD UserDB.txt брал из проекта UserDB.txt https://github.com/packing-box/peid/tree/main/src/peid.
Базу PE Sniffer Signs.txt не нашел новее, поэтому оставил такой, какой была изначально в версии 2.0 плагина.
Предположительно, ошибка в алгоритме поиска.
Записи в базах необходимо обновлять/пополнять. Если есть желание, то находите новые записи или базы, выкладывайте, буду объединять.
Можете сбросить ссылку на PE Sniffer 4.0? |
|
Back to top |
|
|
yozhik
Joined: 04 May 2014 Posts: 188
|
|
Back to top |
|
|
burav
Joined: 07 Oct 2011 Posts: 22
|
(Separately) Posted: Tue Sep 12, 2023 13:49 Post subject: |
|
|
С сигнатурами вообще не совсем понятно, куча каких-то проектов, которые к себе в базы тянут всё подряд, непонятно по каким правилам, на выходе получается каша.
Ну, допустим, попробуем опираться на базу сигнатур PE Sniffer 4.0 (Signs.txt), она теперь в формате PEiD.
Если её подсунуть в сам PEiD 0.95 (удалив начальные комментарии), то PEiD показывает (нужно нажать -> External scan) информацию, отличную от PE Sniffer. То есть тут или реализация парсера базы сигнатур отличается, или ещё какие-то доп условия имеют место.
Если эту же базу подсунуть плагину в виде UserDB.txt, на тех же файлах он в большинстве случаев показывает "Неизвестный", то есть, скорее всего, есть ошибка в алгоритме поиска. |
|
Back to top |
|
|
iteg
Joined: 01 Dec 2011 Posts: 69
|
(Separately) Posted: Tue Sep 12, 2023 19:46 Post subject: |
|
|
Исправил алгоритмы поиска и для PE Sniffer и для PEiD.
Тестовая версия https://dropmefiles.com/7kxkj.
В плагине эти два алгоритма выполняют поиск только с начала EP. Но некоторые утилиты позволяют выполнять поиск и по содержимому секций.
Для PEiD записи с параметром "ep_only=false" пока игнорируются.
Теперь на CABRK.DLL PEiD будет выдавать "NeoLite v2.0", т.к. сигнатура поиска совпадает с WATCOM и располагается в списке первее. Если удалить из базы, то будет определять WATCOM. |
|
Back to top |
|
|
burav
Joined: 07 Oct 2011 Posts: 22
|
(Separately) Posted: Tue Sep 12, 2023 22:36 Post subject: |
|
|
iteg, спасибо за ваш труд! буду тестировать)
посмотрите, пожалуйста, на эти два файла
https://disk.yandex.ru/d/S7reQE5fRD5_VQ
LockHunter64 совпал по PES, но по PEiD - нет, хотя в комплектной базе UserDB.txt сигнатура MEW 11 SE v1.2 есть, и она расположена выше, чем Morphine v1.2 (DLL). и, кстати, что это за 96%?
MediaDB напротив, не совпал по PES, хотя должен бы был, в Signs.txt такая запись есть
просто хочу удостовериться, что так и надо)
к сожалению, знаний не хватает, чтобы самому проверять сигнатуры(
спасибо) |
|
Back to top |
|
|
iteg
Joined: 01 Dec 2011 Posts: 69
|
(Separately) Posted: Wed Sep 13, 2023 15:16 Post subject: |
|
|
Алгоритм 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 строка.
Поиск по сигнатурам дает коллизии.
Стоит ли выводить номер найденной сигнатуры, а также соотношение совпавших байт к количеству явных байт? |
|
Back to top |
|
|
burav
Joined: 07 Oct 2011 Posts: 22
|
(Separately) Posted: Wed Sep 13, 2023 21:28 Post subject: |
|
|
Спасибо за подробное объяснение, буду разбираться)
А какой hex редактор позволяет искать с подстановочными символами? В Hxd и Hex Editor Neo не нашёл такой возможности.
А если в случае точного совпадения не прекращать поиск, а выводить все совпадения, через запятую?
Номер сигнатуры и соотношение байт лично мне кажется избыточной информацией. |
|
Back to top |
|
|
iteg
Joined: 01 Dec 2011 Posts: 69
|
(Separately) Posted: Wed Sep 13, 2023 23:09 Post subject: |
|
|
Quote: | А какой hex редактор позволяет искать с подстановочными символами? |
Например, http://www.cihexviewer.com/. Как раз позволяет искать в формате PEiD. Например, ED A5 ?? 00 00.
Quote: | А если в случае точного совпадения не прекращать поиск, а выводить все совпадения, через запятую? |
Но пользователь ожидает только одно совпадение. Так сделано во многих детекторах. |
|
Back to top |
|
|
lz57005
Joined: 05 Mar 2020 Posts: 26
|
(Separately) Posted: Thu Sep 14, 2023 00:24 Post subject: |
|
|
iteg
а алгоритмы поиска Detect It Easy перебор? |
|
Back to top |
|
|
iteg
Joined: 01 Dec 2011 Posts: 69
|
(Separately) Posted: Fri Sep 15, 2023 01:54 Post subject: |
|
|
Quote: | а алгоритмы поиска Detect It Easy перебор? |
DIE использует скриптовой язык для анализа. В зависимости от формата файла используется определенный набор скриптов. Некоторые скрипты используют сигнатуры, другие - иные признаки. Смотрите файлы *.sg. |
|
Back to top |
|
|
the_victor
Joined: 17 Mar 2012 Posts: 10
|
(Separately) Posted: Fri Sep 15, 2023 21:41 Post subject: |
|
|
Заметил ошибку. При открытии второго окна просмотра интерфейс становится английским
[img]https://ibb.co/1vbb4QP[/img] |
|
Back to top |
|
|
iteg
Joined: 01 Dec 2011 Posts: 69
|
(Separately) Posted: Sat Sep 16, 2023 01:24 Post subject: |
|
|
the_victor, спасибо за информацию. Эта ошибка уже исправлена. Исправление будет в версии 3.0.7. |
|
Back to top |
|
|
burav
Joined: 07 Oct 2011 Posts: 22
|
|
Back to top |
|
|
burav
Joined: 07 Oct 2011 Posts: 22
|
(Separately) Posted: Tue Sep 19, 2023 10:31 Post subject: |
|
|
Строка "Файл открыт" всегда показывает время открытия файла плагином, т.е. текущее время) А проводник какое-то другое время. И ни одно из этих времён не отражает время, когда я реально открывал файл, но это уже, наверное, вопросы к операционной системе, откуда она берёт это время.
|
|
Back to top |
|
|
iteg
Joined: 01 Dec 2011 Posts: 69
|
(Separately) Posted: Thu Sep 21, 2023 11:47 Post subject: |
|
|
burav
Для вывода времени использую функцию GetFileTime. В ее описании указано, что возвращаемое время файла зависит от файловой системы и ее настроек. Причем время "File Accessed" может быть с задержкой до 1 часа.
Чтобы "File Accessed" постоянно выводило текущее время, то не смог проявить данную ситуацию. Вот примеры: https://ibb.co/5vRtkXy и https://ibb.co/pQG7b1b.
Очень редко тоже замечал, что в проводнике одно из времен не совпадало.
Если "File Accessed" показывает неактуальную информацию, возможно, отключена опция формирования timestamp для NTFS. Данное отключение благоприятно сказывается на здоровье SSD. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|