Exepack.NET 0.02 alpha

Не прошло и года, как я доделал Windows-версию упаковщика Exepack.NET. Правда, помимо интерфейса WinForms тут добавлена еще целая куча разных улучшений.

Консольную и GUI-версии программы вместе с исходниками можно взять на сайте проекта. Среди прочего в исходниках лежит и концептуальная версия (минимальный скелет программы без каких-либо наворотов), по которой можно разобраться, как все это работает. Концептуальная версия описана в нескольких прошлых постах: часть 1, часть 2, часть 3.

Системные требования:

  • .NET Framework версии 2.0 или выше (используется DeflateStream)
  • Windows XP или выше (используются системные процедуры для загрузки ресурсов)

Новые возможности версии 0.02 alpha:

  • Исполняемый файл генерируется с помощью Reflection.Emit
  • Ресурсы иконок и VersionInfo копируются из исходного файла
  • В Windows-версии можно добавлять в список дополнительные сборки для упаковки в тот же исполняемый файл
  • Добавлена защита от дизассемблирования Red Gate .NET Reflector-ом
  • Ну и, разумеется, добавлены новые исправлены старые ошибки.

Справа — скриншот Рефлектора, который пытается декомпилировать упакованный файл. Попытка декомпилировать в C# (и любой другой высокоуровневый язык) приводит к ошибке. Дизассемблирование в IL, разумеется, работает, как и ILDasm (любую программу, которая загружается и запускается под .NET Framework, можно дизассемблировать в IL-код).

P.S. Стоит иметь в виду, что это по-прежнему альфа-версия. Любое использование исключительно на свой страх и риск. Замечания об ошибках и неполадках приветствуются.

  1. AD286:

    Ув. разработчик. В программе выявлен серьезный баг. Вот его скрин
    http://s40.radikal.ru/i090/1008/a4/a950ffe1c7e7.jpg
    Такая ошибка появляется при попытке открытия системных файлов или библиотек

    Можно сделать например так
    http://s41.radikal.ru/i093/1008/1d/8589e8c98ef1.jpg
    Тогда пользователь будет видеть что произошла ошибка

    Программа полезная, желаю удачи в дальнейшей разработке

  2. Привет!
    Первый багрепорт на русском языке :)
    Спасибо большое, исправлю обязательно.

  3. MTM:

    Привет!
    Хорошая штука, но, при первом беглом знакомстве -

    [ + ]
    1. Достаточно шустро работает
    2. Деобфуцировать попробовал пока с помошью – Telerik JustDecompile Beta, результат вроде нормальный (не углублялся)

    [ - ]
    1. Нет возможности выбирать, какие DLL приклеивать к результирующему файлу (packed), а какие нет (некий аналог SmartAssembly\Dependencies Merging), просто хотел чтобы он упаковал только EXE`шник
    2. Скормил Exepack`у свой EXE, который до этого обфусцировал с помощью SmartAssembly – EXE не взлетело.. а хотелось бы чтобы взлетело :)
    3. Если при добавлении файла выбран неподдерживаемый файл, то ошибка не обрабатывается (тоже самое, если внутренний референс не найден)

    [ * ]
    1. Чисто для тестов (лень идти в папку с приложением) хочется чтобы находил приложение по ярлыку, который перемещен в Exepack (drag&drop) :)

    Удачи!

  4. Привет, МТМ!
    Спасибо за обзор.

    >Деобфуцировать попробовал пока с помошью – Telerik JustDecompile Beta,
    >результат вроде нормальный

    Что значит — нормальный?
    Не дизассемблировалось? :)

    >Нет возможности выбирать, какие DLL приклеивать

    Давно собираюсь сделать.
    Никак руки не дойдут.

    >Скормил Exepack`у свой EXE который до этого обфусцировал
    >с помощью SmartAssembly – EXE не взлетело…

    Хотелось бы подробностей.
    WPF в этом EXE случайно не используется?
    При упаковке EXE без SmartAssembly — работало?
    Можешь прислать свой файл — исходный вариант и после SmartAssembly?

    >ошибка не обрабатывается

    Это явно бага, надо исправлять.

    >хочется чтобы находил приложение по ярлыку

    Неплохая идея.
    Сделай, пожалуйста, feature request на сайте проекта:
    http://exepack.codeplex.com/workitem/list/basic

  5. MTM:

    WPF не используется. После SA до Exepacka работает.
    Вот ссылка на пример, весит ~40Mb, ну чтобы на конкретном примере :)
    1. http://turbobit.net/7f02lems3w2c/Exepack Test.rar.html
    2. http://turbobit.net/7f02lems3w2c.html
    3. http://www.easy-share.com/DFFFF4A6E2E211E09676002481FAD55A/Exepack%20Test.rar

    ЗЫ: Файло-помойками редко пользуюсь, поэтому выложил туда, что яндекс первым предложил.. :)

  6. MTM:

    Да, про «feature request» забыл сказать.. Я там не зареган, и пока не собираюсь, так что сорри..

  7. Привет.

    Вернулся из отпуска и с большим опозданием заметил твой пост.
    За это время срок хранения файлов, по-видимому, истек — скачать уже нельзя.
    Не сохранился ли у тебя этот архив где-нибудь?

    >Я там не зареган, и пока не собираюсь, так что сорри..

    Да неважно, это я и сам завести могу.

  1. There are no trackbacks for this post yet.

Leave a Reply