View previous topic :: View next topic |
Author |
Message |
burav
Joined: 07 Oct 2011 Posts: 22
|
(Separately) Posted: Fri Aug 18, 2023 16:00 Post subject: |
|
|
yozhik wrote: | «Delay directory input is corrupted» |
такой надписи у меня нет, TC11x64, Win11
похоже, проблема именно в этом, подождём комментария автора плагина
мой уровень английского даже не позволяет мне понять, что это вообще значит)) |
|
Back to top |
|
|
yozhik
Joined: 04 May 2014 Posts: 219 Location: Электросталь
|
(Separately) Posted: Fri Aug 18, 2023 16:10 Post subject: |
|
|
Ох, уж эти Виндузы )) Ну, 10-ка пока в фаворе, поэтому стоит учитывать её поведение.
iteg,
Ещё пара моментов. Когда у DLL много ф-ций и зависимостей, то во время его долгого считывания FileInfo отображает маленькую всплывашку Analysing modules... Может стоит и PEViewer так научить? Вроде подружелюбней, чем молчаливое замирание без опознавательных знаков.
Ещё, когда при активной панели Быстрого просмотра перемещаешься клавишами стрелками по файлам, то FileInfo на каждом новом файле вначале на долю секунды активирует вкладку Info, а потом уже переключается на последнюю активную. Чуть мелькает — это есть, да, «не айс». Но с другой стороны это даёт и положительный эффект: когда считывание файла требует времени, я успеваю изучить св-ва файла, а не просто созерцаю задержку. Не знаю, может в FileInfo это вовсе и не фича, а баг , но мне это показалось интересным.
И ещё подопытный:
https://0x0.st/HLLV.zip
в этом комплекте при обращении к файлу EXE PEViewer не определяет присутствие FineObj.dll, хотя по факту она есть (и FileInfo её определяет). PEViewer же маркирует её красным как отсутствующую. |
|
Back to top |
|
|
burav
Joined: 07 Oct 2011 Posts: 22
|
(Separately) Posted: Fri Aug 18, 2023 17:06 Post subject: |
|
|
yozhik wrote: | в этом комплекте при обращении к файлу EXE PEViewer не определяет присутствие FineObj.dll, хотя по факту она есть (и FileInfo её определяет). PEViewer же маркирует её красным как отсутствующую. |
похоже на баг. я проверил у себя, отображение всех dll было корректным, отсутствующих не было. я это дело заскриншотил, потом вернулся в окно TC, и снова, контрольно, нажал Ctrl-Q. на этот раз результат был другим)
какой-то рандомный глюк |
|
Back to top |
|
|
iteg
Joined: 01 Dec 2011 Posts: 72
|
(Separately) Posted: Sat Aug 19, 2023 19:21 Post subject: |
|
|
burav и yozhik, спасибо, что участвуете в тестировании!
Собралось несколько проблем:
1) Для https://0x0.st/HL_2.zip сделал оптимизацию получения данных. Стало быстрей. Проверьте у себя.
2) Для FOBJ600.DLL возникала ошибка чтения библиотек отложенного импорта. Ее устранил. Теперь количество модулей такое же как и в FileInfo.
3) По поводу уменьшения размера колонки. Про это знаю. Пока не было времени заняться.
4) Для https://0x0.st/HLLV.zip неправильно определялась директория поиска относительно самого исследуемого модуля. Ошибку устранил.
5) Quote: | Когда у DLL много ф-ций и зависимостей, то во время его долгого считывания FileInfo отображает маленькую всплывашку Analysing modules | Пока не реализовал, но вынесу в отдельный поток.
6) Quote: | FileInfo на каждом новом файле вначале на долю секунды активирует вкладку Info, а потом уже переключается на последнюю активную | Хорошо, посмотрю, как это работает в FileInfo.
Выложил тестовый вариант - https://dropmefiles.com/ZXO9W
Достаточно заменить оригинальный файл PEViewer.wlx64 из архива. Если плагин загружен в память, то просто закройте TC и, не запуская PEViewer, замените файл. |
|
Back to top |
|
|
yozhik
Joined: 04 May 2014 Posts: 219 Location: Электросталь
|
(Separately) Posted: Sat Aug 19, 2023 22:25 Post subject: |
|
|
iteg, добрых вам трудов!
1) iteg wrote: | Стало быстрей. Проверьте у себя. |
Теперь вообще летает! Существенно быстрее чем в FileInfo. Спасибо!
2) iteg wrote: | FOBJ600.DLL возникала ошибка |
Теперь всё исправно. Даже (только что обратил внимание) работает корректней, чем 64-битный FileInfo (который почему-то не определил один DLL, расположенный в SysWOW64).
4) iteg wrote: | неправильно определялась директория поиска |
Теперь всё определяется. Я пробовал разные расположения, убирал/возвращал файлы — все связи отслеживаются корректно. |
|
Back to top |
|
|
burav
Joined: 07 Oct 2011 Posts: 22
|
(Separately) Posted: Mon Aug 21, 2023 11:37 Post subject: |
|
|
iteg wrote: | Выложил тестовый вариант - https://dropmefiles.com/ZXO9W
Достаточно заменить оригинальный файл PEViewer.wlx64 из архива. Если плагин загружен в память, то просто закройте TC и, не запуская PEViewer, замените файл. |
iteg, спасибо за работу!
Ещё удалил в Wincmd.ini _detect-строку, чтобы проверить новый функционал определения допустимого файла. Пока всё нормально, PE файлы определят с любым расширением, для неправильных PE выдаёт GUI "The image isn't PE image", но TC 11x64 ПАДАЕТ при просмотре каталогов.
https://disk.yandex.ru/d/pi12QdOP8BuHYA
Ещё, не совсем понятно, что означают иконки на вкладке Экспорт/Импорт, в столбце состояние. В FileInfo есть описание на вкладке Options, здесь, в принципе, можно догадаться, но лучше было бы добавить всплывающие подсказки.
Также, при переключении строк на вкладке Ресурсы, туда просачиваются данные откуда-то из недр плагина.
Файл+видео, поясняющее, что происходит:
https://disk.yandex.ru/d/SGTnS303LsW0Rg
Мне кажется, что расширение .SO, которое плагином считается общеизвестным и для которого он всегда рисует GUI, не совсем подходит в список общеизвестных.
SO это, как правило, *nix-библиотеки. Настоящие .SO-файлы, которые с заголовком ELF, плагин не обрабатывает, и выводит для них "The image isn't PE image"
Нашёл у себя в системе несколько .SO-файлов, которые не ELF, а вроде как PE, но это скорее исключение. И если удалить .SO из списка общеизвестных, то эти файлы плагин всё равно подхватит, найдя в них PE заголовок. |
|
Back to top |
|
|
iteg
Joined: 01 Dec 2011 Posts: 72
|
(Separately) Posted: Tue Aug 22, 2023 21:00 Post subject: |
|
|
burav, спасибо за информацию:
1) Quote: | TC 11x64 ПАДАЕТ при просмотре каталогов |
В данной версии полностью переделан алгоритм поиска импортируемых модулей в каталогах. Стало быстрей. Данную ситуацию с падением не получилось проявить. Проверьте у себя.
2) Quote: | не совсем понятно, что означают иконки на вкладке Экспорт/Импорт |
Для статуса импортируемой библиотеки убрал лишний юникодный символ. Оставил только песочные часы и знак вопроса в треугольнике. Стало похоже как FileInfo.
Добавил описание в ReadMe.txt плагина.
Описание статусов импортируемых модулей:
--- 1) пустая строка, цвет черный - библиотека найдена, загружена и все функции тоже найдены.
--- 2) восклицательный знак в треугольнике, цвет красный - библиотека не найдена.
--- 3) восклицательный знак в треугольнике, цвет оливковый - библиотека найдена, загружена, но некоторые функции в ней отсутствуют.
--- 4) песочные часы, цвет отражает смысл первых трех пунктов - библиотека отложенного импорта.
Подсказки пока помечу на будущее.
3) Это ошибка тестовой версии, которую ранее выложил. В данной версии ошибки нет.
4) Расширение SO убрал из списка.
5) По поводу изображения с FileInfo. FileInfo некорректно показывает пути каталогов для импортируемых модулей, т.к. исследуемый модуль I386 и ОС x64, пути должны быть из "C:\Windows\SysWOW64\" как показано в PEViewer. И поэтому FileInfo не нашел библиотеку OLEPRO32.DLL.
Тестовая версия: https://dropmefiles.com/RdEhn
Какой функционал ещё перенять из FileInfo? |
|
Back to top |
|
|
burav
Joined: 07 Oct 2011 Posts: 22
|
(Separately) Posted: Tue Aug 22, 2023 21:54 Post subject: |
|
|
iteg wrote: | Данную ситуацию с падением не получилось проявить. Проверьте у себя. |
Проверил на другой машине, использовал абсолютно чистый TC11x64, падение присутствует на тестовой версии 3.0.5.6
https://disk.yandex.ru/i/wFPXj0F5aFpAHA
iteg wrote: | Это ошибка тестовой версии, которую ранее выложил. В данной версии ошибки нет. |
Только что проверил на тестовой версии 3.0.5.6, ошибка с мусором в строках по прежнему присутствует
iteg wrote: | Какой функционал ещё перенять из FileInfo? |
В недавней работе я использовал поле FILE CHARACTERISTICS из FileInfo
В PE Viewer где-то можно посмотреть такую информацию? нашёл)
iteg, а можно добавить строку с характеристиками в первую вкладку Инфо, или добавить такую опцию? Прям взять и продублировать из Заголовки -> IMAGE_NT_HEADERS -> IMAGE_FILE_HEADER -> Characteristics?
Иногда эта информация бывает полезной при исследовании файлов, но о ней забываешь, когда она не на виду)
А больше из FileInfo перенимать уже практически нечего, кажется) В следующей своей сборке TC буду переезжать на PE Viewer, осталось немного ещё потестировать.
Ещё в работе с файлами PE иногда смотрю цифровую подпись, но её отображение, наверное, уже выходит за рамки плагина? |
|
Back to top |
|
|
yozhik
Joined: 04 May 2014 Posts: 219 Location: Электросталь
|
(Separately) Posted: Fri Aug 25, 2023 16:33 Post subject: |
|
|
iteg wrote: | Какой функционал ещё перенять из FileInfo? |
Я тоже тут за прошедшие дни по-всякому присматривался и к FileInfo, и к другим утилитам для PE (например, такая) — ничего нового добавить не могу. Вроде всё хорошее и полезное уже есть (с учётом мелких косметических пожеланий выше). По крайней мере сейчас пока ничего в голову не приходит. |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Sat Aug 26, 2023 03:58 Post subject: |
|
|
Решил тоже опробовать плагин. Действительно, вся полезная информация, вроде бы, присутствует. Очень неплохая альтернатива получается; спасибо за труд! Но вот читабельность на вкладке Headers/Sections значительно ниже, чем у FileInfo. Табличный вид у последнего значительно повышает наглядность, так как выхватывать глазами выровненные данные проще, чем вгрызаться в сплошную мешанину текста. Вот только не знаю, можно ли как-то скрестить древесный вид в PEViewer с многоколоночными строками… Вроде бы, такие контролы существуют, но не уверен, насколько они стандартные.
И ещё пара плюшек, которые сильно повысили бы удобство:
1. Запоминать ширины столбцов в таблицах или автоподстраивать их по содержимому. У меня просмотрщик открывается на весь экран, и получается, что от имён функций/секций до остальных колонок сидит огромное пустое пространство. Можно подтащить колонки, но в следующий раз оно опять прижимает всё вправо.
2. Запоминать свёрнутое/развёрнутое состояние блоков типа IMAGE_FILE_HEADER. В FileInfo переключился на вкладку — и сразу все данные перед глазами. А тут каждый раз приходится заново разворачивать. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
burav
Joined: 07 Oct 2011 Posts: 22
|
|
Back to top |
|
|
iteg
Joined: 01 Dec 2011 Posts: 72
|
(Separately) Posted: Mon Sep 04, 2023 19:16 Post subject: |
|
|
Не смог оперативно ответить на сообщения, поэтому разбираем накопленные проблемы:
burav
1)
Quote: | Проверил на другой машине, использовал абсолютно чистый TC11x64, падение присутствует на тестовой версии 3.0.5.6 |
Падение на каталогах исправлено.
2)
Quote: | Только что проверил на тестовой версии 3.0.5.6, ошибка с мусором в строках по прежнему присутствует |
Проблема в том, что файл упакован UPX. Поэтому решил не выводить мусорный текст, а выводить надпись неверного формата строки.
3)
Quote: | а можно добавить строку с характеристиками в первую вкладку Инфо |
Добавил "Characteristics" и "DllCharacteristics".
4)
Quote: | Ещё в работе с файлами PE иногда смотрю цифровую подпись |
Давно запланировал в одну из следующий версий.
5)
Quote: | А 16-битные файлы плагин не поддерживает? |
Да, не поддерживает. Не вижу рациональности в поддержке 16-битных файлов. Лучше время потрачу на расширение функционала для актуальных PE и PE+.
CaptainFlint
6)
Quote: | Но вот читабельность на вкладке Headers/Sections значительно ниже, чем у FileInfo. Табличный вид у последнего значительно повышает наглядность, так как выхватывать глазами выровненные данные проще, чем вгрызаться в сплошную мешанину текста. |
Пока не решил кардинально переделывать старый интерфейс. В приоритете расширение функционала. Дерево буду переделывать, т.к. еще очень много системных структур не отображено.
7)
Quote: | Запоминать ширины столбцов в таблицах или автоподстраивать их по содержимому. |
Изначально каждая колонка сохраняла свою ширину. Переделал на автоподбор ширины каждой коронки по содержимому и заголовку, но кроме первой. Поэтому первая колонка смещает все остальные вправо. Если убрать это, то все колонки будут с левой стороны. Могу собрать тестовый вариант "все колонки слева".
8 )
Quote: | Запоминать свёрнутое/развёрнутое состояние блоков типа IMAGE_FILE_HEADER. |
Сделал по умолчанию раскрытыми узлы дерева "IMAGE_FILE_HEADER" и "IMAGE_OPTIONAL_HEADER".
Предрелизная версия 3.0.6 https://dropmefiles.com/AXc1d
Если есть время, то протестируйте функциональность.
Last edited by iteg on Mon Sep 11, 2023 19:25; edited 1 time in total |
|
Back to top |
|
|
yozhik
Joined: 04 May 2014 Posts: 219 Location: Электросталь
|
(Separately) Posted: Tue Sep 05, 2023 00:09 Post subject: |
|
|
iteg wrote: | Падение на каталогах |
У меня более не воспроизводится.
iteg wrote: | первая колонка смещает все остальные вправо |
А если путь к папке с файлом длинный, то влево и обрезает имена. И если при открытом Быстром просмотре перемещаешься по файлам клавишами-стрелками, то колонки «прыгают» то влево, то вправо. Не приглянулся мне этот вариант. Или делать всё влево, или возвращать запоминание ширин.
Косметика 5) и 6) из этого поста, пока, наверное, руки не дошли? Скромное напоминание |
|
Back to top |
|
|
imig73
Joined: 18 Jun 2013 Posts: 285 Location: г. Иркутск
|
(Separately) Posted: Wed Sep 06, 2023 05:43 Post subject: |
|
|
Ого, а я смотрю готовится адекватная лёгкая замена fileinfo с расширенными возможностями. Хотелось бы видеть основную информацию крупно и сразу как в fileinfo и тогда переход обеспечен.. |
|
Back to top |
|
|
burav
Joined: 07 Oct 2011 Posts: 22
|
(Separately) Posted: Fri Sep 08, 2023 18:04 Post subject: |
|
|
Немного потестировал определение компилятора.
Вот, например, файл CABRK.DLL из дистрибутива TC 11.01 x86.
Как я понимаю, вывод плагина в первой строке примерно должен совпадать с показаниями PE Sniffer, а во второй - с показаниями PEiD.
Похоже, здесь что-то не так |
|
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
|