Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.60/75: Рейтинг темы: голосов - 75, средняя оценка - 4.60
 Аватар для Ignis
104 / 20 / 2
Регистрация: 21.01.2013
Сообщений: 253

Чем сжать исполняемый файл?

28.10.2019, 08:37. Показов 15018. Ответов 49

Студворк — интернет-сервис помощи студентам
Всем добрый день!

Имеющиеся у меня упаковщики исполняемых файлов отказываются сжимать экзешники, работающие под MS-Framework (созданные студией MS.NET). Сколько ни искал в интернете - ничего не нашел. Есть ли какой-то упаковщик для этой среды, желательно бесплатный? Сжимать нужно только exe-файл, никакие вспомогательные и сопутствующие файлы (типа dll) сжимать не нужно.

Буду весьма признателен за совет!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.10.2019, 08:37
Ответы с готовыми решениями:

Как вшить Framework в исполняемый файл
Всем привет. Недавно встречал такую штуку, что можно при помощи какой-то системы создать исполняемый файл на языке C#, для запуска...

Как определить где лежит исполняемый файл?
Мне надо чтобы файл с настройками сохранялся в ту же папку, что и исполняемый файл. Я делал так. FileStream FS = new...

Указанный исполняемый файл не является действительным приложением для этой операционной системы
//СКАЧИВАНИЕ BEGIN System.Net.WebClient webClient = new System.Net.WebClient(); Uri uri = new...

49
531 / 180 / 39
Регистрация: 18.08.2012
Сообщений: 907
28.10.2019, 09:29
Студворк — интернет-сервис помощи студентам
CLI assembly files

Known executable compressors for CLI assembly files:

.NETZ
NsPack
Mpress
HASP Envelope
.netshrink
dotBundle
Exepack.NET
DotProtect:[22] Commercial protector/packer for .net and mono. Features on-line verifications and "industry standard encryption".
https://en.wikipedia.org/wiki/... mbly_files
0
Эксперт .NET
 Аватар для Usaga
14366 / 9467 / 1360
Регистрация: 21.01.2016
Сообщений: 35,712
28.10.2019, 09:29
Цитата Сообщение от Ignis Посмотреть сообщение
Ну, если бы не было практической ценности, они бы не существовали.
Они появились во времена Dial-up'а и дискет на 1.44Мб. Сейчас от таких вещей нет проку вообще никакого. Всем и каждому плевать сколько занимают сборки вашего приложения. Лучше займитесь его потимизацией, чтобы оно при своей работе не жрало ОЗУ и CPU. Это ценнее.
0
531 / 180 / 39
Регистрация: 18.08.2012
Сообщений: 907
28.10.2019, 09:31
Цитата Сообщение от Ignis Посмотреть сообщение
Платные не подходят.
забавно...
создаёте софт, небось, и денежку за него получаете, а платить другим людям... вера не позволяет?
0
 Аватар для Ignis
104 / 20 / 2
Регистрация: 21.01.2013
Сообщений: 253
28.10.2019, 09:36  [ТС]
Цитата Сообщение от untyped Посмотреть сообщение
создаёте софт, небось, и денежку за него получаете,
Не получаю. Я создаю бесплатный софт для всех желающих. За прочее получаю зарплату, но там упаковщики не требуются.
0
Эксперт .NET
 Аватар для Usaga
14366 / 9467 / 1360
Регистрация: 21.01.2016
Сообщений: 35,712
28.10.2019, 09:36
Ignis, а тут требуются? Кому?
0
 Аватар для Ignis
104 / 20 / 2
Регистрация: 21.01.2013
Сообщений: 253
28.10.2019, 09:38  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Лучше займитесь его потимизацией, чтобы оно при своей работе не жрало ОЗУ
Это само собой, но к вопросу не относится. Дело не в том, нужно сжатие, или нет. Дело в том, возможно ли это?

Добавлено через 41 секунду
Цитата Сообщение от Usaga Посмотреть сообщение
а тут требуются? Кому?
Мне. Создавая бесплатный софт, я могу себе позволить некоторые капризы...
0
Эксперт .NET
 Аватар для Usaga
14366 / 9467 / 1360
Регистрация: 21.01.2016
Сообщений: 35,712
28.10.2019, 09:39
Ignis, скорее всего возможно. Но ценность этого действа стремится к нулю. Поэтому с поиском ПО, которое это делает, могут быть проблемы.

Добавлено через 29 секунд
Цитата Сообщение от Ignis Посмотреть сообщение
Мне. Создавая бесплатный софт, я могу себе позволить некоторые капризы...
Это не каприз. Решение проблемы, которой нет.
0
 Аватар для Ignis
104 / 20 / 2
Регистрация: 21.01.2013
Сообщений: 253
28.10.2019, 09:41  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Поэтому с поиском ПО, которое это делает, могут быть проблемы.
Проблемы есть только для среды NET. А так - никакой проблемы.
0
Эксперт .NET
 Аватар для Usaga
14366 / 9467 / 1360
Регистрация: 21.01.2016
Сообщений: 35,712
28.10.2019, 09:42
Ignis, для среды .NET проблемы нет. Размер сборки не имеет значения. Значит и не надо выдумывать его сжатие.
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
28.10.2019, 09:44
Цитата Сообщение от Ignis Посмотреть сообщение
Дело не в том, нужно сжатие, или нет. Дело в том, возможно ли это?
Конечно возможно. Вот специально сейчас провел эксперимент, создал консольный проект, в его ресурсы запихнул бинарный файл на 3.2МБ и получил на выходе после сжатия кое-какой бесплатной тулзой exe файл размером 408КБ. Без сжатия тот же файл весит 3.21МБ.
0
531 / 180 / 39
Регистрация: 18.08.2012
Сообщений: 907
28.10.2019, 09:47
думается, тут просто дело в том, что, создавая бесплатный софт - автор-таки не хочет, чтобы его честное имя и внешний облик его творения - были безжалостно выпилены при реверсе дотнет-кода его программ. Поэтому, занимается, по сути, - самообманом, оправдывая сие меньшим размером упакованных файлов.
0
 Аватар для Ignis
104 / 20 / 2
Регистрация: 21.01.2013
Сообщений: 253
28.10.2019, 09:54  [ТС]
Цитата Сообщение от Someone007 Посмотреть сообщение
провел эксперимент, создал консольный проект, в его ресурсы запихнул
А чем создан проект? Он в среде NET создавался? И что за "тулза"? И запускается ли созданный файл?

Цитата Сообщение от untyped Посмотреть сообщение
были безжалостно выпилены при реверсе дотнет-кода его программ.
Теоретически любой экзешник может быть взломан и переделан. Я не думаю, что на взлом создаваемых мной утилит кто-то хотел бы тратить время. А вот если создавать что-то действительно секретное, тут надо придумывать свои методы, стандартные наверняка вскрываются. Тем не менее, сжатый файл в любом случае удобнее.
Так что вопрос остается - можно ли, и чем?
0
531 / 180 / 39
Регистрация: 18.08.2012
Сообщений: 907
28.10.2019, 10:00
Цитата Сообщение от Ignis Посмотреть сообщение
можно ли, и чем?
вам, как бы - уже ответили и не раз:
.NETZ
NsPack
Mpress
HASP Envelope
.netshrink
dotBundle
Exepack.NET
вы все их пробовали?
<вопрос о платности - пока оставим за скобками>
Цитата Сообщение от Ignis Посмотреть сообщение
Я не думаю, что на взлом создаваемых мной утилит кто-то хотел бы тратить время.
так в том-то и дело, что никто не поймёт/не знает ваших истинных мыслей/мотивов. Но, разговор про - мол де - так меньше весит - звучит, как оправдание.
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
28.10.2019, 10:04
Цитата Сообщение от Ignis Посмотреть сообщение
А чем создан проект? Он в среде NET создавался?
VS2019, C#, Console App, .NET Framework 4.8
Цитата Сообщение от Ignis Посмотреть сообщение
И что за "тулза"?
Секрет.
Цитата Сообщение от Ignis Посмотреть сообщение
И запускается ли созданный файл?
Да, запускается.

оригинал https://www.virustotal.com/gui... /detection
сжатый (с защитой ресурсов) https://www.virustotal.com/gui... /detection
просто сжатый https://www.virustotal.com/gui... /detection
0
 Аватар для Ignis
104 / 20 / 2
Регистрация: 21.01.2013
Сообщений: 253
28.10.2019, 10:11  [ТС]
Цитата Сообщение от untyped Посмотреть сообщение
вы все их пробовали? <вопрос о платности - пока оставим за скобками>
За скобками не получится. А так - буду пробовать, спасибо.

Цитата Сообщение от Someone007 Посмотреть сообщение
Секрет.
Так это и был бы ответ на вопрос темы.

Цитата Сообщение от untyped Посмотреть сообщение
разговор про - мол де - так меньше весит - звучит, как оправдание.
Это не оправдание, это одна из причин. А вторая - да, хоть эти утилиты и не стоят труда на взлом, но тем не менее, я предпочитаю хоть минимально подстраховаться. А вот что делать, если надо написать действительно что-то секретное, ума не приложу. А поскольку секретное - не обязательно коммерческое, то задача еще больше усложняется (платные не подходят).
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
28.10.2019, 10:53
Лучший ответ Сообщение было отмечено Usaga как решение

Решение

Я использовал ConfuserEx, а если конкретней то nuget пакет Confuser.MSBuild для автоматизации процесса во время сборки. Для ручной упаковки можно скачать архив с консольной и GUI утилитами с github релизов...
Вложения
Тип файла: zip TestPackingConsoleApp.zip (611.5 Кб, 8 просмотров)
0
2845 / 1705 / 273
Регистрация: 19.02.2010
Сообщений: 4,483
28.10.2019, 12:00
Цитата Сообщение от Ignis Посмотреть сообщение
А вот что делать, если надо написать действительно что-то секретное, ума не приложу
Разделение проги на клиентскую (интерфейсную) и серверную (со всеми секретами) части.
Реверсер/взломщик без взлома сервера физически не сможет получить никаких бинарников секретной части проги.
0
 Аватар для Ignis
104 / 20 / 2
Регистрация: 21.01.2013
Сообщений: 253
28.10.2019, 12:38  [ТС]
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Разделение проги на клиентскую (интерфейсную) и серверную (со всеми секретами) части.
Да, получается, что это единственный вариант. Но это уже не совсем программа получается, потому что без интернета она работать не будет. А коли так, то теоретически можно и вовсе серверное приложение делать (если ресурсы позволяют, конечно)... Как резюме, обычное программирование выродилось в серверные приложения.

Цитата Сообщение от Someone007 Посмотреть сообщение
Для ручной упаковки можно скачать архив с консольной и GUI утилитами с github релизов...
Спасибо, но то, что я смог скачать, это исходники. А компилировать их нечем. Программу сию в виде готового экзешника на сайтах не нашел.
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
28.10.2019, 12:42
Цитата Сообщение от Ignis Посмотреть сообщение
Спасибо, но то, что я смог скачать, это исходники.
Там в релизах по 4 файла (nuget пакет, zip с бинарниками, и 2 архива с исходниками), вы скачали не то.

Ну и установку nuget пакета Confuser.MSBuild прямо из VS никто не отменял... По моему это самый удобный вариант, 1 раз настроил и оно само всё делает.
1
 Аватар для Ignis
104 / 20 / 2
Регистрация: 21.01.2013
Сообщений: 253
28.10.2019, 13:34  [ТС]
Цитата Сообщение от Someone007 Посмотреть сообщение
вы скачали не то.
Ничего иного не нашел. Вообще гитхабе крайне поганая система навигации.

Цитата Сообщение от Someone007 Посмотреть сообщение
Ну и установку nuget пакета
Вроде скачал, но на работе у меня старая система и он не запускается. Дома попробую, там все фреймворки должны быть...

Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.10.2019, 13:34

Если исполняемый файл находится в архиве, как узнать имя этого архива?
Подскажите пожалуйста, если исполняемый файл находится в архиве, как узнать имя этого архива?

Сборка всех компонентов программы в один исполняемый файл
Вообщем нужно собрать все библиотеки формы и что там вообще есть в 1 exe файл. Такое возможно? Или тихий установщик, тоесть при первом...

Ошибка при запуске программы Client - исполняемый файл не найден
Здраствуйте. При запуске примера Clienta взятого из MSDN происходит ошибка - Что делается не так???? Заранее спасибо. Imports System ...

Не получается создать исполняемый файл проекта в vs2015
Пишу на python 3.5 в vs2015. Никак не получается сделать так, чтобы появился exe файл проекта. После компиляции проекта папок Release и...

Как или чем максимально сжать файл?
Как или чем можно максимально сжать файл Program.cs (visual studio 2013)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru