Автор Тема: YAP .Net (Общая информация)  (Прочитано 11896 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Samael

  • Шпийон Сарумяна
  • Вице-канцлер
  • *****
  • Сообщений: 3543
  • Репутация: 70
  • Пол: Мужской
  • Гик - это не профессия, гик - это призвание...
  • SkypeID: kornev.vladimir
YAP .Net (Общая информация)
« : ѕЪвпСам 21, 2007, 08:00:59 pm »
В общем, так случилось, что субботним утром мы с Лео размышляли чем бы понасиловать моск, в итоге возникла идея написать упаковщик exe-файлов, поскольку последнее время все писалось под .Net, то и решились писать под эту платформу =)
В данный момент есть полу-рабочая версия, но работает несколько выборочно, возникла небольшая проблема, как только решим ее, выложим первый релиз =)

Ссылка на текущую версию
« Последнее редактирование: ґХЪРСам 08, 2007, 02:10:11 am от Samael »
Один терапевт - это 1024 гигапевта, или 1048576 мегапевтов.
Все вышесказанное - исключительно IMHO :Samael:
Если Вам кто-то помог, нажмите

Оффлайн Samael

  • Шпийон Сарумяна
  • Вице-канцлер
  • *****
  • Сообщений: 3543
  • Репутация: 70
  • Пол: Мужской
  • Гик - это не профессия, гик - это призвание...
  • SkypeID: kornev.vladimir
Re: YAP .Net (Общая информация)
« Ответ #1 : ЅЮпСам 03, 2007, 02:38:38 am »
Так или иначе, но что-то мы сделали, не вполне рабочее, в состоянии бета-версии, но что-то работать должно =)
В общем, представляем YAP .Net v. 0.1 beta. Для работы необходим последний FW.
В данный момент функционал достаточно невелик. С помощью YapNet.exe можно упаковать исполняемую .Net сборку, он принимает следующие опции
/assembly:имя_сборки.exe -- имя сборки, которую нужно упаковать
/options:PACK;PDB -- опции: PACK -- сжимать содержимое, PDB -- использовать файл имя_сборки.pdb (если без этого упакованная сборка не запускается, попробуйте эту опцию). По умолчанию сборка не сжимается
/out:имя_файла -- файл, в который следует записать упакованные данные

Например
Код: (dos) [Выделить]
YapNet.exe /assembly:NetConnector.exe /options:PACK /out:NetConnector1.exe
YapNet.exe /assembly:NetConnector.exe /options:PACK;PDB /out:NetConnector1.exe
YapNet.exe /assembly:NetConnector.exe /out:NetConnector1.exe

После упаковки, файл Ru.Ishodniki.YapNet.Unpacker.exe должен быть помещен в папку с упакованной сборкой.

В данный момент, упаковщик криво работает из-за проблем с настройками безопасности. Т.е. в некоторых приложениях отдельные элементы будут сбоить. Большая просьба присылайте скрины ошибок и описания.
« Последнее редактирование: ЅЮпСам 03, 2007, 02:40:23 am от Samael »
Один терапевт - это 1024 гигапевта, или 1048576 мегапевтов.
Все вышесказанное - исключительно IMHO :Samael:
Если Вам кто-то помог, нажмите

Оффлайн Nitrogen

  • Губернский секретарь
  • **
  • Сообщений: 39
  • Репутация: 1
Re: YAP .Net (Общая информация)
« Ответ #2 : ґХЪРСам 01, 2007, 01:01:23 pm »
Интересная вещь.
Насколько я понимаю сжимает только exe, на dll слетает.
При попытке открыть сжатый файл Рефлектором открывается Ru.Ishodniki.YapNet.Unpacker.exe :D.
« Последнее редактирование: ґХЪРСам 01, 2007, 01:04:24 pm от Nitrogen »

Оффлайн Leopotam

  • Темный свихнувшийся даритель банов, а так же
  • Администратор
  • Тайный советник
  • *****
  • Сообщений: 2119
  • Репутация: 16
  • Пол: Мужской
Re: YAP .Net (Общая информация)
« Ответ #3 : ґХЪРСам 01, 2007, 01:59:21 pm »
Nitrogen, открывается исходник загрузчика, сама сборка упакована и не доступна для просмотра через рефлектор. Пока обрабатываются только сборки, имеющие точки входа.
Всех убью, один останусь...

Оффлайн Samael

  • Шпийон Сарумяна
  • Вице-канцлер
  • *****
  • Сообщений: 3543
  • Репутация: 70
  • Пол: Мужской
  • Гик - это не профессия, гик - это призвание...
  • SkypeID: kornev.vladimir
Re: YAP .Net (Общая информация)
« Ответ #4 : ґХЪРСам 01, 2007, 05:39:28 pm »
Готова новая 0.1.0.5 версия. Ссылка старая.
Отличия:
 - Внесены некоторые исправления в работу распаковщика, в следствие чего некоторые ошибки в работе упакованных программ пропали =)
 - Убрана опция PDB
 - Проверяется целостность упакованных данных
Один терапевт - это 1024 гигапевта, или 1048576 мегапевтов.
Все вышесказанное - исключительно IMHO :Samael:
Если Вам кто-то помог, нажмите

Оффлайн Samael

  • Шпийон Сарумяна
  • Вице-канцлер
  • *****
  • Сообщений: 3543
  • Репутация: 70
  • Пол: Мужской
  • Гик - это не профессия, гик - это призвание...
  • SkypeID: kornev.vladimir
Re: YAP .Net (Общая информация)
« Ответ #5 : ґХЪРСам 07, 2007, 04:01:01 pm »
Обновились сразу до версии 1.0.2.7. Ссылка изменилась
 :!: Внесены серьезные изменения в работу распаковщика, что позволяет теперь не таскать за собой сам файл. Т.е. теперь упакованный файл становится полностью автономным.

Данная версия позволяет упаковывать сборки FW 2.0 версии (возможно, ниже).
Для работы необходим FW 2.0 или выше.

Добавлен новый алгоритм сжатия, т.о. теперь на выбор предоставляются 2 алгоритма:
- deflate-сжатие -- пригодится в том случае, если размер сборки, которую нужно упаковать, достаточно маленький (например, меньше 30КБ).
- LZMA-сжатие -- позволяет добиться достаточно сильного сжатия, ненамного уступая WinRAR|WinZIP

Изменения в синтаксисе упаковщика:
- добавлена опция /option:BACKUP -- позволяет сделать резервную копию файла, в который производится упаковка, если таковой существует.
- опции перечисляются через "&"
- добавлена опция /compress:LZMA -- указывает, что следует использовать LZMA сжатие, игнорируется, в случае если не указана опция /option:PACK. По умолчанию используется deflate-сжатие.

Так же, кроме консольного упаковщика, теперь есть WPF-based GUI-упаковщик, для его работы необходим FW 3.0 или выше. Теперь не прийдется заморачиваться с командной строкой =)
Если Output Assembly не указана, то пакуется в тот же файл, который указан в Input Assembly.


[вложение удалено Администратором]
« Последнее редактирование: ґХЪРСам 08, 2007, 02:09:06 am от Samael »
Один терапевт - это 1024 гигапевта, или 1048576 мегапевтов.
Все вышесказанное - исключительно IMHO :Samael:
Если Вам кто-то помог, нажмите

Оффлайн Shymep

  • Администратор
  • Действительный статский советник
  • *****
  • Сообщений: 1909
  • Репутация: 58
  • Пол: Мужской
Re: YAP .Net (Общая информация)
« Ответ #6 : ґХЪРСам 07, 2007, 04:57:26 pm »
Оба, +1.
Smile and the world will smile back :wink:

Оффлайн #535

  • Действительный статский советник
  • *****
  • Сообщений: 1794
  • Репутация: 38
  • Пол: Мужской
  • Make scene,not war!
Re: YAP .Net (Общая информация)
« Ответ #7 : ґХЪРСам 17, 2007, 02:10:40 am »
Народ,если не секрет, почему у меня упакованный файл увеличился в размере на 0.02 mb? ;););)
/compress:LZMA


Оффлайн Samael

  • Шпийон Сарумяна
  • Вице-канцлер
  • *****
  • Сообщений: 3543
  • Репутация: 70
  • Пол: Мужской
  • Гик - это не профессия, гик - это призвание...
  • SkypeID: kornev.vladimir
Re: YAP .Net (Общая информация)
« Ответ #8 : ґХЪРСам 17, 2007, 02:22:12 am »
А /options:PACK указал?
Один терапевт - это 1024 гигапевта, или 1048576 мегапевтов.
Все вышесказанное - исключительно IMHO :Samael:
Если Вам кто-то помог, нажмите

Оффлайн #535

  • Действительный статский советник
  • *****
  • Сообщений: 1794
  • Репутация: 38
  • Пол: Мужской
  • Make scene,not war!
Re: YAP .Net (Общая информация)
« Ответ #9 : ґХЪРСам 17, 2007, 02:42:42 am »
Цитировать
А /options:PACK указал?
:dash2: :dash2: :dash2:
Чет я запрограмился сегодня ;)

А так и должно быть, что она медленнее запускаться стала?

P.S.
Только не подумай, что мне ваще нечем заняться, но у вас там в консоле строка:
"If you've found an error, leave it description at".Вроде должно быть  "it's description"...


Оффлайн Samael

  • Шпийон Сарумяна
  • Вице-канцлер
  • *****
  • Сообщений: 3543
  • Репутация: 70
  • Пол: Мужской
  • Гик - это не профессия, гик - это призвание...
  • SkypeID: kornev.vladimir
Re: YAP .Net (Общая информация)
« Ответ #10 : ґХЪРСам 17, 2007, 02:52:14 am »
Цитировать
А так и должно быть, что она медленнее запускаться стала?
Это плата за распаковку сборки =) замедление незначительное.

Цитировать
Вроде должно быть  "it's description"...
Угу, пасип =) У меня нормальное понимание английского, а вот с написанием -- проблемы :D
Один терапевт - это 1024 гигапевта, или 1048576 мегапевтов.
Все вышесказанное - исключительно IMHO :Samael:
Если Вам кто-то помог, нажмите

Оффлайн #535

  • Действительный статский советник
  • *****
  • Сообщений: 1794
  • Репутация: 38
  • Пол: Мужской
  • Make scene,not war!
Re: YAP .Net (Общая информация)
« Ответ #11 : ґХЪРСам 17, 2007, 02:54:57 am »
Спасибо вам за прогу ;)

P.S.
По возможности, оставьте ее беcплатной ;)
Хотя я платных пэкеров и не видел никогда...


Оффлайн Nitrogen

  • Губернский секретарь
  • **
  • Сообщений: 39
  • Репутация: 1
Re: YAP .Net (Общая информация)
« Ответ #12 : ПЭТРам 16, 2008, 08:40:48 pm »
Нашел баг: в упакованной проге в FolderBrowserDialog не отображается дерево каталогов :).

Оффлайн Samael

  • Шпийон Сарумяна
  • Вице-канцлер
  • *****
  • Сообщений: 3543
  • Репутация: 70
  • Пол: Мужской
  • Гик - это не профессия, гик - это призвание...
  • SkypeID: kornev.vladimir
Re: YAP .Net (Общая информация)
« Ответ #13 : ПЭТРам 16, 2008, 08:53:59 pm »
Nitrogen, спасибо за тест =)

Цитировать
Нашел баг: в упакованной проге в FolderBrowserDialog не отображается дерево каталогов :).
 
Угу, знаем такое, еще с самой первой версии =) Без понятия, почему так происходит :)
Поскольку особой популярностью не пользуется упаковщик, то вряд ли будем продолжать проект =)
Один терапевт - это 1024 гигапевта, или 1048576 мегапевтов.
Все вышесказанное - исключительно IMHO :Samael:
Если Вам кто-то помог, нажмите