[PluginRequest] WDX для подсветки исполняемых файлов .net
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4  Next  :| |:
Total Commander -> Плагины Total Commander

#16:  Author: Serge Yolkin PostPosted: Sat Sep 14, 2013 20:44
    —
MVV
Да, ещё по приведённой Вами ссылке. В тексте там упоминаются имена _CorDllMain и _CorExeMain перед MSCOREE.dll, но я уже убедился, перед именем дллки может быть и другой текст, например, в дотнетовских медиакодеках (тоже MZ).

#17:  Author: Alextp PostPosted: Sat Sep 14, 2013 20:45
    —
del

Last edited by Alextp on Sun Sep 15, 2013 14:36; edited 1 time in total

#18:  Author: Serge Yolkin PostPosted: Sat Sep 14, 2013 20:51
    —
CaptainFlint wrote:
чтение и разбор заголовков, чтобы сразу прыгать на нужное смещение
сам не потяну...

Добавлено спустя 17 минут:

В тексте по ссылке MVV нашёл ссылку на забавную программку. Для меня, пожалуй, крутовато - и половины не понял, чего она показывает, а вот программистам может быть интересна, если, конечно, я велосипед не изобрёл.

#19:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Sep 14, 2013 21:26
    —
Serge Yolkin wrote:
MVV
Код по приведенной Вами ссылке тоже дотнетовский. Не то, чтобы фатально, но крайне нежелательно.

Да уж конечно, с каких пор чистейший WinAPI стал дотнетовским? Smile Для пущей убедительности помимо кучи того, чего быть не может в дотнетовском коде, там ещё и поток вывода cout используется наряду с оператором <<. Very Happy

#20:  Author: Serge Yolkin PostPosted: Sat Sep 14, 2013 22:33
    —
MVV
Пардон, лажанул. "Увидел знакомые буквы": вверху цепочка навигации - codeguru> .NET/C#> .NET> General> System Information> Read More in System Information»

Но тогда 1-ая приведённая функция + обёртка от "среднестатистического wdx" = решение задачи?
Ну, ещё win64 прикрутить:
CaptainFlint wrote:
добавить определение архитектуры очень просто

#21:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Sep 14, 2013 22:57
    —
Тут нашел исходник и собрал, можно из скрипта вызывать и парсить вывод.

Добавлено спустя 13 минут:

Добавил отображение поля Machine, по которому определяется разрядность приложения.

Заодно выкосил cout, из-за чего экзешник нехило похудел.

#22:  Author: Serge Yolkin PostPosted: Sat Sep 14, 2013 23:13
    —
MVV
А возвращаемое значение (error code, ERRORLEVEL, ну или что там метод WScript.Shell.run() возвращает) можно добавить? 0, 1, ... чтоб не парсить...

#23:  Author: MVVLocation: Ростов-Дон PostPosted: Sat Sep 14, 2013 23:54
    —
Тут.
Возвращает 1 для 32-битного, 2 для 64-битного, 3 для прочих. Если сборка, добавляет к результату 16, т.е. по идее должно возвращать 17.

Добавлено спустя 5 минут:

Перезалил, косяк был.

#24:  Author: Serge Yolkin PostPosted: Sun Sep 15, 2013 01:03
    —
MVV
Спасибо!

Если файл не задан, возвращает 100
если задан, но не существует - 3, ладно, существование перед вызовом придётся проверить.
на искомых - 17 - OK
Проблема решена.
P.S. Но всё же, если у кого будет время и желание, wdx бы хотелось бы...

P.P.S. Если MZ файл (.ax) содержит " CorExitProcess mscoree.dll ", он дотнетовский, или нет? ismanaged.exe говорит, что нет. (1)
Наличие в файле "mscoree.dll" не гарантирует, что файл дотнетовский, предположение было ошибочным.


Last edited by Serge Yolkin on Sun Sep 15, 2013 19:23; edited 1 time in total

#25:  Author: ProgMan13 PostPosted: Sun Sep 15, 2013 13:55
    —
Serge Yolkin
Не плохо бы сравнить с ismanaged, а то я не уверен в правильности результатов:
http://progman13.totalcmd.net/downloads/wdx_IsDotNET.zip

#26:  Author: Serge Yolkin PostPosted: Sun Sep 15, 2013 14:29
    —
ProgMan13
Пожалуйста, хоть пару слов о названиях/значениях полей.

#27:  Author: FlasherLocation: Москва PostPosted: Sun Sep 15, 2013 15:34
    —
Serge Yolkin
Всё на простом языке: Да/Нет. Что там неясного?

#28:  Author: Serge Yolkin PostPosted: Sun Sep 15, 2013 19:10
    —
Flasher
Неясно, как задать шаблон поиска, который будет одинаково работать на русской и нерусской винде. Исходить из Да/Нет, Yes/No или ещё чего. На нерусской сейчас проверить не могу, но понадобится во вторник...

ProgMan13
Сравнил, на имеющемся наборе файлов результаты одинаковы (в пределах одинаковости распознаваемых типов). Есть две огромные одна маленькая просьбы:
1. Сейчас плагин обрабатывает только файлы .exe и .dll; очень надо чтобы он либо обрабатывал все файлы, либо задавать расширения в его .ini (изначальная проблема была с "авторскими" расширениями файлов) решено
2. Если это не слишком трудно, поле сделать одно (например PEtype, или ещё как), а возвращать разные значения:
- noPE (или "-", или пустая строка - "")
- DOS
- Win16
- Win32
- dotNet
- Win64
вроде, все?


Last edited by Serge Yolkin on Mon Sep 16, 2013 03:31; edited 1 time in total

#29:  Author: MVVLocation: Ростов-Дон PostPosted: Sun Sep 15, 2013 20:14
    —
Serge Yolkin,
Удали LNG-файл, тогда шаблон будет общий. Very Happy

А по типам: dotNet - это тоже Win32, поэтому не совсем корректно смешивать всё в одну кучу...

#30:  Author: Skif_off PostPosted: Sun Sep 15, 2013 21:07
    —
ProgMan13
Я правильно понял, что wdx_IsDotNET можно использовать как альтернативу ReadPE для определения битности?

Serge Yolkin wrote:
1. Сейчас плагин обрабатывает только файлы .exe и .dll; очень надо чтобы он либо обрабатывал все файлы, либо задавать расширения в его .ini (изначальная проблема была с "авторскими" расширениями файлов)

В wincmd.ini попробуйте добавить в _detect= плагина:
 Hidden text

Собирал для ReadPE.



Total Commander -> Плагины Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3, 4  Next  :| |:
Page 2 of 4

Powered by phpBB © 2001, 2005 phpBB Group