| Re[3]: .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | gear nuke | ||
| Дата: | 26.12.05 12:14 | ||
| Оценка: | 4 (1) +1 | ||
| Здравствуйте, bazilxp, Вы писали: B>Так с флагом пожайлуста поподробнее, исправлю в следующей версии .... Заголовок IMAGE_OPTIONAL_HEADER, поле Subsystem. Значения IMAGE_SUBSYSTEM_WINDOWS_GUI или IMAGE_SUBSYSTEM_WINDOWS_CUI B>Где почитать про это? В официальной документации по формату MS COFF здесь. Ну и заодно: NET 1.1 и 2.0 скорее всего так же можно определить програмным образом из пакера. Каким образом не знаю, не интересовался, но системный загрузчик как-то это делает. Ключик -i лишний. Пакер _обязан_ определять, упаковани ли им файл или нет. Если файл существует и непакован, очевидно, это входной файл. -o можно сделать опциональным, немного эвристики поможет определить, что 2е имя — это выходной файл. Хотя я бы делал для первого backup, а 2й сохранял под тем же именем. Тогда можно и Shell Extension прикрутить и паковать мышкой, без консоли. People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth |
| Re: .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | gear nuke | ||
| Дата: | 26.12.05 11:25 | ||
| Оценка: | 1 (1) +1 | ||
| Здравствуйте, bazilxp, Вы писали: B>Ключи к программе B> ключ -sc указывает что исходное приложение Console EXE B> ключ -sc указывает что исходное приложение Windows EXE А в чём их смысл? Есть же соответствующий флаг в PE заголовке People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth |
| Re[3]: .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | fddima | ||
| Дата: | 26.12.05 11:46 | ||
| Оценка: | 1 (1) +1 | ||
| Здравствуйте, bazilxp, Вы писали: B>Так с флагом пожайлуста поподробнее ,исправлю в следующей версии .... B>Где почитать про это? Дык.... MSDN / Portable Executable file format, Win32 IMAGE_OPTIONAL_HEADER — WORD Subsystem ... << RSDN@Home 1.2.0 alpha rev. 618>> |
| .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | bazilxp | ||
| Дата: | 26.12.05 09:56 |
| .NET упаковщик уменьшение размера исполняемых файлов Предлагаю вашему вниманию версию 1.0 Beta. Первая официальная версия... программа доступна с интернет страницы http://codebelt.xpbit.com/download.php Доступны исполняемые файлы для .NET 1.1 , .NET 2.0 Возможности программы позволяет упаковывать исполняемые файлы .NET версии 1.1 , 2.0 Ключи к программе ключ -sc указывает что исходное приложение Console EXE ключ -sc указывает что исходное приложение Windows EXE ключ -v1 Для версии 1.1 ключ -v2 Для версии 2.0 ключ -1 Метод сжатия 1 ключ -2 Метод сжатия 1 ключ -3 Метод сжатия 1 ключ -i входной файл ключ -o выходной файл ключ -email Отправить e-mail автору Поддерживает 3 метода сжатия 1. Минимальный коэффициент сжатия 2. Средний коэффициент сжатия 3. Лучший коэффициент сжатия Примеры использования Упаковка исполняемого файла 1.exe (консольное .net 1.1 приложение) codebelt -3 -sc -v1 -i 1.exe Тоже самое но выходный файлу 1packed.exe codebelt -3 -sc -v1 -i 1.exe -o 1packed.exe Упаковка исполняемого файла 2.exe (windows .net 1.1 приложение) codebelt -3 -sw -v1 -i 2.exe Тоже самое но выходный файлу 2packed.exe codebelt -3 -sc -v1 -i 1.exe -o 2packed.exe Упаковка исполняемого файла 3.exe (консольное .net 2.0 приложение) codebelt -3 -sc -v2 -i 3.exe Тоже самое но выходный файлу 3packed.exe codebelt -3 -sc -v2 -i 3.exe -o 3packed.exe Все предложения и пожелания о работе программы рад услышать на e-mail info@xpbit.com ... << RSDN@Home 1.2.0 alpha rev. 618>> |
| Re: .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | lozzy | ||
| Дата: | 26.12.05 10:17 |
| Здравствуйте, bazilxp, Вы писали: B>.NET упаковщик уменьшение размера исполняемых файлов А зачем, собственно? В чем бенефит? |
| Re[2]: .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | bazilxp | ||
| Дата: | 26.12.05 11:31 |
| Здравствуйте, gear nuke, Вы писали: GN>Здравствуйте, bazilxp, Вы писали: B>>Ключи к программе B>> ключ -sc указывает что исходное приложение Console EXE B>> ключ -sc указывает что исходное приложение Windows EXE GN>А в чём их смысл? GN>Есть же соответствующий флаг в PE заголовке Так с флагом пожайлуста поподробнее ,исправлю в следующей версии .... Где почитать про это? ... << RSDN@Home 1.2.0 alpha rev. 618>> |
| Re: .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | Аноним 461 | ||
| Дата: | 26.12.05 12:34 |
| для 1.1 архив битый?.. B>Все предложения и пожелания о работе программы рад услышать на e-mail info@xpbit.com |
| Re[2]: .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | lozzy | ||
| Дата: | 26.12.05 13:20 |
| Здравствуйте, lozzy, Вы писали: B>>.NET упаковщик уменьшение размера исполняемых файлов L>А зачем, собственно? В чем бенефит? Раз ответа на вопрос не последовало, то наверное я неясно выразил мысль. Итак, попытка номер два: в чем бенефит сжатия мэнэджэд кода? Кому и для чего это надо? Есть ли какие-либо дополнительные функции кроме сжатия? Мое глубокое ИМХО — сжатие сейчас актуально только для передачи по сети, да и то не всегда. Размер же программы на диске, по моему, вообще мало кого волнует. Ну пожму я софтину, ну станет она 1 Мб вместо двух — кто от этого выиграет? Вот если бы сжатие сопровождалось кодированием и поддерживался бы не один пароль, а несколько (а.к.а. ключик |
| Re[4]: .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | bazilxp | ||
| Дата: | 27.12.05 00:38 |
| Здравствуйте, gear nuke, Вы писали: GN>Здравствуйте, bazilxp, Вы писали: GN>Заголовок IMAGE_OPTIONAL_HEADER, поле Subsystem. Значения IMAGE_SUBSYSTEM_WINDOWS_GUI или IMAGE_SUBSYSTEM_WINDOWS_CUI Это определил GN>Ну и заодно: GN>NET 1.1 и 2.0 скорее всего так же можно определить програмным образом из пакера. Каким образом не знаю, не интересовался, но системный загрузчик как-то это делает. Разобрался определяет packer тип файла, по поводу CLR header нашел определение в файле "CorHdr.h" .. позицию определить очень легко для MC++ все по другому у меня не получилось их упаковывать для C# /VB / J# приложений DOS HEADER _dos_header.e_lfanew -> PE HEADER PE HEADER-> OptionalHeader.SizeOfHeaders следующая секция OptionalHeader.SizeOfHeaders + 8 для СOR20HEADER следующая структура
Для .NET 1.1 _cor_header.cb==0x48 _cor_header.MajorRuntimeVersion==2 _cor_header.MinorRuntimeVersion==0 Для .NET 2.0 _cor_header.cb==0x48 _cor_header.MajorRuntimeVersion==2 _cor_header.MinorRuntimeVersion==5 GN>Ключик -i лишний. Пакер _обязан_ определять, упаковани ли им файл или нет. Если файл существует и непакован, очевидно, это входной файл. ключик -i устранил GN>-o можно сделать опциональным, немного эвристики поможет определить, что 2е имя — это выходной файл. Хотя я бы делал для первого backup, а GN> 2й сохранял под тем же именем. backup я думаю не стоит делать... GN>Тогда можно и Shell Extension прикрутить и паковать мышкой, без консоли. Shell extenstion займусь ,тогда и инсталяцию сделаю... По поводу методов Eли входной файл к примеру 20kb метод -1 дает сжатие , -2 и -3 будут грамоздки... Новая версия доступна все там же http://codebelt.xpbit.com/download.php ... << RSDN@Home 1.2.0 alpha rev. 618>> |
| Re[2]: .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | bazilxp | ||
| Дата: | 27.12.05 00:38 |
| Здравствуйте, <Аноним>, Вы писали: А>для 1.1 архив битый?.. да походу ,уже исправил и лежит новая версия .. ключи -i -sw -sc -v1 -v2 более не актуальны.... Добавлено определение формата входного файла. теперь для сжатия файла достаточно выполнять так codebelt.exe MyApp.exe -o MyPacked.exe B>>Все предложения и пожелания о работе программы рад услышать на e-mail info@xpbit.com ... << RSDN@Home 1.2.0 alpha rev. 618>> |
| Re[3]: .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | bazilxp | ||
| Дата: | 27.12.05 00:38 |
| Здравствуйте, lozzy, Вы писали: L>Здравствуйте, lozzy, Вы писали: B>>>.NET упаковщик уменьшение размера исполняемых файлов L>>А зачем, собственно? В чем бенефит? L>Раз ответа на вопрос не последовало, то наверное я неясно выразил мысль. Итак, попытка номер два: в чем бенефит сжатия мэнэджэд кода? Кому и L>>для чего это надо? Есть ли какие-либо дополнительные функции кроме сжатия? Будут модули встраиваемые в процесс работы упаковщика... L>Мое глубокое ИМХО — сжатие сейчас актуально только для передачи по сети, да и то не всегда. Размер же программы на диске, по моему, вообще мало кого волнует. Ну пожму я софтину, ну станет она 1 Мб вместо двух — кто от этого выиграет? Вот если бы сжатие сопровождалось кодированием и поддерживался бы не один пароль, а несколько (а.к.а. ключик Планируется два типа модулей 1) Unmanaged CODE (Обычная DLL с определенным набором функций) 2) Managed code (Assembly сборка ) Еще будут и другие функции ..... ... << RSDN@Home 1.2.0 alpha rev. 618>> |
| Re[4]: .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | jit | ||
| Дата: | 27.12.05 08:54 |
| Здравствуйте, bazilxp, Вы писали: B>Планируется два типа модулей B>1) Unmanaged CODE (Обычная DLL с определенным набором функций) я правильно понял? будете жать в native-код? типа вот этого — http://www.remotesoft.com/salamander/protector.html ?? или вы имеете ввиду, что на выходе будет две dll-ки, одна managed (где пароли, шифрование и прочая защита), другая unmanaged? |
| Re[5]: .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | lozzy | ||
| Дата: | 27.12.05 09:39 |
| Здравствуйте, jit, Вы писали: jit>я правильно понял? будете жать в native-код? типа вот этого — http://www.remotesoft.com/salamander/protector.html ?? jit>или вы имеете ввиду, что на выходе будет две dll-ки, одна managed (где пароли, шифрование и прочая защита), другая unmanaged? Честно говоря, я бы поостерегся вываливать на паблик софтину, защищенную подобным образом. ИМХО (сугубое ИМХО), что такая защита даст сбой и самое хреновое, что будет невозможно определить, где же собственно этот сбой возник. |
| Re[6]: .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | bazilxp | ||
| Дата: | 27.12.05 10:35 |
| Здравствуйте, lozzy, Вы писали: L>Здравствуйте, jit, Вы писали: jit>>я правильно понял? будете жать в native-код? типа вот этого — http://www.remotesoft.com/salamander/protector.html ?? jit>>или вы имеете ввиду, что на выходе будет две dll-ки, одна managed (где пароли, шифрование и прочая защита), другая unmanaged? L>Честно говоря, я бы поостерегся вываливать на паблик софтину, защищенную подобным образом. ИМХО (сугубое ИМХО), что такая защита даст сбой и самое хреновое, что будет невозможно определить, где же собственно этот сбой возник. Обычное отраженные сборки ,себя виду весьма предсказуемо.... и говорят в большом сообщении об ошибке где же сбойнуло... ... << RSDN@Home 1.2.0 alpha rev. 618>> |
| Re[7]: .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | lozzy | ||
| Дата: | 27.12.05 11:12 |
| Здравствуйте, bazilxp, Вы писали: L>>Честно говоря, я бы поостерегся вываливать на паблик софтину, защищенную подобным образом. ИМХО (сугубое ИМХО), что такая защита даст сбой и самое хреновое, что будет невозможно определить, где же собственно этот сбой возник. B>Обычное отраженные сборки ,себя виду весьма предсказуемо.... B>и говорят в большом сообщении об ошибке где же сбойнуло... А у тебя русский язык родной или ты переводишь транслятором? |
| Re[8]: .NET упаковщик уменьшение размера исполняемых файлов | |
| От: | bazilxp | ||
| Дата: | 27.12.05 11:27 |
| Здравствуйте, lozzy, Вы писали: L>Здравствуйте, bazilxp, Вы писали: L>>>Честно говоря, я бы поостерегся вываливать на паблик софтину, защищенную подобным образом. ИМХО (сугубое ИМХО), что такая защита даст сбой и самое хреновое, что будет невозможно определить, где же собственно этот сбой возник. B>>Обычное отраженные сборки ,себя виду весьма предсказуемо.... B>>и говорят в большом сообщении об ошибке где же сбойнуло... L>А у тебя русский язык родной или ты переводишь транслятором? перевожу транслятором ... ... << RSDN@Home 1.2.0 alpha rev. 618>> |