Страница 2 из 22
Добавлено: Пт авг 18, 2023 15:00
burav
yozhik писал(а):«Delay directory input is corrupted»
такой надписи у меня нет, TC11x64, Win11
похоже, проблема именно в этом, подождём комментария автора плагина
мой уровень английского даже не позволяет мне понять, что это вообще значит))
Добавлено: Пт авг 18, 2023 15:10
yozhik
burav писал(а):Win11
Ох, уж эти Виндузы )) Ну, 10-ка пока в фаворе, поэтому стоит учитывать её поведение.
iteg,
Ещё пара моментов. Когда у DLL много ф-ций и зависимостей, то во время его долгого считывания FileInfo отображает маленькую всплывашку Analysing modules... Может стоит и PEViewer так научить? Вроде подружелюбней, чем молчаливое замирание без опознавательных знаков.
Ещё, когда при активной панели Быстрого просмотра перемещаешься клавишами стрелками по файлам, то FileInfo на каждом новом файле вначале на долю секунды активирует вкладку Info, а потом уже переключается на последнюю активную. Чуть мелькает — это есть, да, «не айс». Но с другой стороны это даёт и положительный эффект: когда считывание файла требует времени, я успеваю изучить св-ва файла, а не просто созерцаю задержку. Не знаю, может в FileInfo это вовсе и не фича, а баг

, но мне это показалось интересным.
И ещё подопытный:
https://0x0.st/HLLV.zip
в этом комплекте при обращении к файлу EXE PEViewer не определяет присутствие FineObj.dll, хотя по факту она есть (и FileInfo её определяет). PEViewer же маркирует её красным как отсутствующую.
Добавлено: Пт авг 18, 2023 16:06
burav
yozhik писал(а):в этом комплекте при обращении к файлу EXE PEViewer не определяет присутствие FineObj.dll, хотя по факту она есть (и FileInfo её определяет). PEViewer же маркирует её красным как отсутствующую.
похоже на баг. я проверил у себя, отображение всех dll было корректным, отсутствующих не было. я это дело заскриншотил, потом вернулся в окно TC, и снова, контрольно, нажал Ctrl-Q. на этот раз результат был другим)

какой-то рандомный глюк
Добавлено: Сб авг 19, 2023 18:21
iteg
burav и
yozhik, спасибо, что участвуете в тестировании!
Собралось несколько проблем:
1) Для
https://0x0.st/HL_2.zip сделал оптимизацию получения данных. Стало быстрей. Проверьте у себя.
2) Для
FOBJ600.DLL возникала ошибка чтения библиотек отложенного импорта. Ее устранил. Теперь количество модулей такое же как и в FileInfo.
3) По поводу уменьшения размера колонки. Про это знаю. Пока не было времени заняться.
4) Для
https://0x0.st/HLLV.zip неправильно определялась директория поиска относительно самого исследуемого модуля. Ошибку устранил.
5)
Когда у DLL много ф-ций и зависимостей, то во время его долгого считывания FileInfo отображает маленькую всплывашку Analysing modules
Пока не реализовал, но вынесу в отдельный поток.
6)
FileInfo на каждом новом файле вначале на долю секунды активирует вкладку Info, а потом уже переключается на последнюю активную
Хорошо, посмотрю, как это работает в FileInfo.
Выложил тестовый вариант -
https://dropmefiles.com/ZXO9W
Достаточно заменить оригинальный файл PEViewer.wlx64 из архива. Если плагин загружен в память, то просто закройте TC и, не запуская PEViewer, замените файл.
Добавлено: Сб авг 19, 2023 21:25
yozhik
iteg, добрых вам трудов!
1)
iteg писал(а):Стало быстрей. Проверьте у себя.
Теперь вообще летает! Существенно быстрее чем в FileInfo. Спасибо!
2)
iteg писал(а):FOBJ600.DLL возникала ошибка
Теперь всё исправно. Даже (только что обратил внимание) работает корректней, чем 64-битный FileInfo (который почему-то не определил один DLL, расположенный в SysWOW64).
4)
iteg писал(а):неправильно определялась директория поиска
Теперь всё определяется. Я пробовал разные расположения, убирал/возвращал файлы — все связи отслеживаются корректно.
Добавлено: Пн авг 21, 2023 10:37
burav
iteg писал(а):Выложил тестовый вариант -
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 заголовок.
Добавлено: Вт авг 22, 2023 20:00
iteg
burav, спасибо за информацию:
1)
TC 11x64 ПАДАЕТ при просмотре каталогов
В данной версии полностью переделан алгоритм поиска импортируемых модулей в каталогах. Стало быстрей. Данную ситуацию с падением не получилось проявить. Проверьте у себя.
2)
не совсем понятно, что означают иконки на вкладке Экспорт/Импорт
Для статуса импортируемой библиотеки убрал лишний юникодный символ. Оставил только песочные часы и знак вопроса в треугольнике. Стало похоже как 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?
Добавлено: Вт авг 22, 2023 20:54
burav
iteg писал(а):Данную ситуацию с падением не получилось проявить. Проверьте у себя.
Проверил на другой машине, использовал абсолютно чистый TC11x64, падение присутствует на тестовой версии 3.0.5.6
https://disk.yandex.ru/i/wFPXj0F5aFpAHA
iteg писал(а):Это ошибка тестовой версии, которую ранее выложил. В данной версии ошибки нет.
Только что проверил на тестовой версии 3.0.5.6, ошибка с мусором в строках по прежнему присутствует
iteg писал(а):Какой функционал ещё перенять из FileInfo?
В недавней работе я использовал поле FILE CHARACTERISTICS из FileInfo

[s]В PE Viewer где-то можно посмотреть такую информацию?[/s] нашёл)
iteg, а можно добавить строку с характеристиками в первую вкладку Инфо, или добавить такую опцию? Прям взять и продублировать из Заголовки -> IMAGE_NT_HEADERS -> IMAGE_FILE_HEADER -> Characteristics?
Иногда эта информация бывает полезной при исследовании файлов, но о ней забываешь, когда она не на виду)
А больше из FileInfo перенимать уже практически нечего, кажется) В следующей своей сборке TC буду переезжать на PE Viewer, осталось немного ещё потестировать.
Ещё в работе с файлами PE иногда смотрю цифровую подпись, но её отображение, наверное, уже выходит за рамки плагина?
Добавлено: Пт авг 25, 2023 15:33
yozhik
iteg писал(а):Какой функционал ещё перенять из FileInfo?
Я тоже тут за прошедшие дни по-всякому присматривался и к FileInfo, и к другим утилитам для PE (например,
такая) — ничего нового добавить не могу. Вроде всё хорошее и полезное уже есть (с учётом мелких косметических пожеланий выше). По крайней мере сейчас пока ничего в голову не приходит.
Добавлено: Сб авг 26, 2023 02:58
CaptainFlint
Решил тоже опробовать плагин. Действительно, вся полезная информация, вроде бы, присутствует. Очень неплохая альтернатива получается; спасибо за труд! Но вот читабельность на вкладке Headers/Sections значительно ниже, чем у FileInfo. Табличный вид у последнего значительно повышает наглядность, так как выхватывать глазами выровненные данные проще, чем вгрызаться в сплошную мешанину текста. Вот только не знаю, можно ли как-то скрестить древесный вид в PEViewer с многоколоночными строками… Вроде бы, такие контролы существуют, но не уверен, насколько они стандартные.
И ещё пара плюшек, которые сильно повысили бы удобство:
1. Запоминать ширины столбцов в таблицах или автоподстраивать их по содержимому. У меня просмотрщик открывается на весь экран, и получается, что от имён функций/секций до остальных колонок сидит огромное пустое пространство. Можно подтащить колонки, но в следующий раз оно опять прижимает всё вправо.
2. Запоминать свёрнутое/развёрнутое состояние блоков типа IMAGE_FILE_HEADER. В FileInfo переключился на вкладку — и сразу все данные перед глазами. А тут каждый раз приходится заново разворачивать.
Добавлено: Пт сен 01, 2023 15:23
burav
А 16-битные файлы плагин не поддерживает?
https://disk.yandex.ru/d/LkNgPdzb-70sXQ
Проверил старый плагин PE Viewer 2.0, он не читает, а FileInfo справился
Добавлено: Пн сен 04, 2023 18:16
iteg
Не смог оперативно ответить на сообщения, поэтому разбираем накопленные проблемы:
burav
1)
Проверил на другой машине, использовал абсолютно чистый TC11x64, падение присутствует на тестовой версии 3.0.5.6
Падение на каталогах исправлено.
2)
Только что проверил на тестовой версии 3.0.5.6, ошибка с мусором в строках по прежнему присутствует
Проблема в том, что файл упакован UPX. Поэтому решил не выводить мусорный текст, а выводить надпись неверного формата строки.
3)
а можно добавить строку с характеристиками в первую вкладку Инфо
Добавил "Characteristics" и "DllCharacteristics".
4)
Ещё в работе с файлами PE иногда смотрю цифровую подпись
Давно запланировал в одну из следующий версий.
5)
А 16-битные файлы плагин не поддерживает?
Да, не поддерживает. Не вижу рациональности в поддержке 16-битных файлов. Лучше время потрачу на расширение функционала для актуальных PE и PE+.
CaptainFlint
6)
Но вот читабельность на вкладке Headers/Sections значительно ниже, чем у FileInfo. Табличный вид у последнего значительно повышает наглядность, так как выхватывать глазами выровненные данные проще, чем вгрызаться в сплошную мешанину текста.
Пока не решил кардинально переделывать старый интерфейс. В приоритете расширение функционала. Дерево буду переделывать, т.к. еще очень много системных структур не отображено.
7)
Запоминать ширины столбцов в таблицах или автоподстраивать их по содержимому.
Изначально каждая колонка сохраняла свою ширину. Переделал на автоподбор ширины каждой коронки по содержимому и заголовку, но кроме первой. Поэтому первая колонка смещает все остальные вправо. Если убрать это, то все колонки будут с левой стороны. Могу собрать тестовый вариант "все колонки слева".
8 )
Запоминать свёрнутое/развёрнутое состояние блоков типа IMAGE_FILE_HEADER.
Сделал по умолчанию раскрытыми узлы дерева "IMAGE_FILE_HEADER" и "IMAGE_OPTIONAL_HEADER".
Предрелизная версия 3.0.6
https://dropmefiles.com/AXc1d
Если есть время, то протестируйте функциональность.
Добавлено: Пн сен 04, 2023 23:09
yozhik
iteg писал(а):Падение на каталогах
У меня более не воспроизводится.
iteg писал(а):первая колонка смещает все остальные вправо
А если путь к папке с файлом длинный, то влево и обрезает имена. И если при открытом Быстром просмотре перемещаешься по файлам клавишами-стрелками, то колонки «прыгают» то влево, то вправо. Не приглянулся мне этот вариант. Или делать всё влево, или возвращать запоминание ширин.
Косметика 5) и 6) из
этого поста, пока, наверное, руки не дошли? Скромное напоминание

Добавлено: Ср сен 06, 2023 04:43
imig73
Ого, а я смотрю готовится адекватная лёгкая замена fileinfo с расширенными возможностями. Хотелось бы видеть основную информацию крупно и сразу как в fileinfo и тогда переход обеспечен..
Добавлено: Пт сен 08, 2023 17:04
burav
Немного потестировал определение компилятора.
Вот, например, файл CABRK.DLL из дистрибутива TC 11.01 x86.

Как я понимаю, вывод плагина в первой строке примерно должен совпадать с показаниями PE Sniffer, а во второй - с показаниями PEiD.
Похоже, здесь что-то не так