Автор: korosya
Дата сообщения: 13.12.2007 23:51
Просмотрел в версии для печати этой ветки всё, что относится к использованию Multiarc для просмотра файлов упакованных UPX (вход по CTRL+PgDown). Не нашел решения проблемы. Стал разбираться сам. Вот, что я понял.
Пусть Archiver=%COMMANDER_PATH%\Plugins\arc\upx301w\upx.exe и мы пытаемся войти в файл диск:\путь_к_файлу\file.exe, упакованный UPX-ом.
тогда при
List=%P -l %AQA
UPX запускается следующее командой %COMMANDER_PATH%\Plugins\arc\upx301w\upx.exe -l диск:\путь_к_файлу\file.exe. Если такую команду ввести из коммандной строки, то UPX выдаст что-то типа
Ultimate Packer for eXecutables
Copyright (C) 1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007
UPX 3.01w Markus Oberhumer, Laszlo Molnar & John Reiser Jul 31st 2007
File size Ratio Format Name
-------------------- ------ ----------- -----------
147456 -> 62464 42.36% win32/pe диск:\путь_к_файлу\file.exe
то есть при заходе по CTRL+PgDown внутри будет не один файл, а много вложенных папок, которые представлляют собой путь_к_файлу
Для того, чтобы внутри был только один файл необходимо выполнить комманду %COMMANDER_PATH%\Plugins\arc\upx301w\upx.exe -l file.exe, но выполнять её необходимо из папки, где находиться file.exe. то естьв коммандной строке должно быть:
диск:\путь_к_файлу>%COMMANDER_PATH%\Plugins\arc\upx301w\upx.exe -l file.exe
Тогда UPX выдаст
Ultimate Packer for eXecutables
Copyright (C) 1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007
UPX 3.01w Markus Oberhumer, Laszlo Molnar & John Reiser Jul 31st 2007
File size Ratio Format Name
-------------------- ------ ----------- -----------
147456 -> 62464 42.36% win32/pe file.exe
Казалось бы можно прописать
List=%P -l %AQAW
но почему-то при запуске из ЛЕВОЙ панели то ли Multiarc, то ли ТС считает, что текущей директорией (Current directory) является папка, раскрытая в правой панели и UPX, естественно, не может найти file.exe. Поэтому если справа открыта папка диск:\путь_к_файлу\, то она становиться текущий и вход по CTRL+PgDown выполняется без проблем, как уже отмечалось в этой ветке. Стоит заметить,, что принахождении в ПРАВОЙ панели текущей считается папка ПРАВОЙ панели и вход по CTRL+PgDown из ПРАВОЙ панели опять же выполняется без проблем. Как это обойти я не знаю, но можно воспользоваться следующим несколоко корюзлым способом:
Создаётся файл list.bat в директории, например, C:\List\, в котром находиться следующее:
cd %~dp2
@"%1" -l "%3"
и в Multiarc прописывается следующая строка
List=C:\List\list.bat %PQ %AQ %AQW
Корюзлость этого заключается в том, что путь C:\List\list.bat не поддерживает переменные и должен быть абсолютным.
Поэтому прсьба к создателям Multiarc-а сделайте, пожалуйста, в плагине или возможность задания Current directory или поддержку переменных в командах List, Extract и т.д., а лучше и то и другое.