Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/76: Рейтинг темы: голосов - 76, средняя оценка - 4.62
Землянин
 Аватар для Pjeroo
34 / 34 / 16
Регистрация: 15.01.2013
Сообщений: 312

Защита программы от декомпилятора

01.02.2013, 19:27. Показов 15669. Ответов 99
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возможно ли это, если возможно, то как?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.02.2013, 19:27
Ответы с готовыми решениями:

Выбор декомпилятора для .NET
Подскажите декомпилятор C#. Скачал JetBrains но как им пользоватся я не знаю:-|

Защита программы от НСД. Защита путем шифрования части программы на флеш-диске или флешке
Написать программу на любом известном Вам языке программирования. Программа должна выполнять функцию защиты программы от НСД. Защита...

Использование flash-декомпилятора
Мне декомпилятор Flash Decompiler Trillix после разборки swf-файла выдает несколько папок: - Buttons - Fonts - Frames - Images -...

99
 Аватар для CSharp
51 / 51 / 14
Регистрация: 12.01.2013
Сообщений: 779
01.02.2013, 19:28
можно использовать WinApi функция
0
Землянин
 Аватар для Pjeroo
34 / 34 / 16
Регистрация: 15.01.2013
Сообщений: 312
01.02.2013, 19:31  [ТС]
т.е. если я пишу только на .net, то мой код спокойно могут декомпилировать?
0
 Аватар для CSharp
51 / 51 / 14
Регистрация: 12.01.2013
Сообщений: 779
01.02.2013, 19:40
Цитата Сообщение от Pjeroo Посмотреть сообщение
т.е. если я пишу только на .net, то мой код спокойно могут декомпилировать?
Я в этом не селен, где-то читал что если хочешь хорошо защитить свою программу, надо хотя бы использовать Win32Api MoveWindow
0
62 / 62 / 5
Регистрация: 05.01.2013
Сообщений: 235
01.02.2013, 19:44
обфускатор в помощь
0
 Аватар для CSharp
51 / 51 / 14
Регистрация: 12.01.2013
Сообщений: 779
01.02.2013, 19:48
Ваше я защел свою программы, сжимал их с помощью одной программы, тогда было очень тяжело их декампилировать
0
Землянин
 Аватар для Pjeroo
34 / 34 / 16
Регистрация: 15.01.2013
Сообщений: 312
01.02.2013, 19:49  [ТС]
Можно поподробнее про обфускатор? Как он работает?
0
62 / 62 / 5
Регистрация: 05.01.2013
Сообщений: 235
01.02.2013, 20:02
Pjeroo, переименовывает переменные, методы, добавляет всякий мусор, чтобы запутать код, так что после декомпиляции получается не исходный код, а "каша" в гугле куча информации
0
Землянин
 Аватар для Pjeroo
34 / 34 / 16
Регистрация: 15.01.2013
Сообщений: 312
01.02.2013, 20:09  [ТС]
Цитата Сообщение от Winhttp Посмотреть сообщение
Pjeroo, переименовывает переменные, методы, добавляет всякий мусор, чтобы запутать код, так что после декомпиляции получается не исходный код, а "каша" в гугле куча информации
Добавляет мусор, который не мешает выполнению программы?
0
Кодогенератор
 Аватар для hepper
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
01.02.2013, 20:59
Цитата Сообщение от Pjeroo Посмотреть сообщение
Добавляет мусор, который не мешает выполнению программы?
бывает что и мешает... после некоторых обфускаторов даж прога не пашет
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.02.2013, 21:26
Pjeroo, фигня все эти обфускаторы. Единственная возможность: писать на шарпе такой код, котороый декомпилить - себе дороже. При желании помочь ничего не может. Та же ситуация и с Java.
То есть если есть проект на миллион строк, его даже если отдекомпилишь - без документации нифига не разберешь, а пока разберешь, там уже новых версий 4 штуки понавыпускают, где уже баги исправлены, новые поставлены, новые фичи добавлены. И все по новой... А если лабы на 100 строк делаете, то они никому не интересны
0
Землянин
 Аватар для Pjeroo
34 / 34 / 16
Регистрация: 15.01.2013
Сообщений: 312
01.02.2013, 22:58  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
Pjeroo, фигня все эти обфускаторы. Единственная возможность: писать на шарпе такой код, котороый декомпилить - себе дороже. При желании помочь ничего не может. Та же ситуация и с Java.
То есть если есть проект на миллион строк, его даже если отдекомпилишь - без документации нифига не разберешь, а пока разберешь, там уже новых версий 4 штуки понавыпускают, где уже баги исправлены, новые поставлены, новые фичи добавлены. И все по новой... А если лабы на 100 строк делаете, то они никому не интересны
Т.е. весь код в одном исходнике или я что-то не так понял?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.02.2013, 22:59
Pjeroo, скиньте любой exe-файл, написанный вами.
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
01.02.2013, 23:01
Если очень захотят сломают все что угодно.
Хорошие обфускаторы - платные.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
01.02.2013, 23:05
Цитата Сообщение от CSharp Посмотреть сообщение
надо хотя бы использовать Win32Api MoveWindow
каким образом перемещение окна мешает декомпиляции
Цитата Сообщение от CSharp Посмотреть сообщение
Я в этом не селен,
похоже

Цитата Сообщение от Pjeroo Посмотреть сообщение
Возможно ли это,
нет
если код можно выполнить то всегда его можно декомпилировать
накрайняк по шагам пройдут и разберутся в алгоритме
единственный путь поддержка программы

Цитата Сообщение от Psilon Посмотреть сообщение
То есть если есть проект на миллион строк, его даже если отдекомпилишь - без документации нифига не разберешь, а пока разберешь, там уже новых версий 4 штуки понавыпускают,
не выгодно ломать
вообще на эту тему "Щита и меча" есть куча статей, книг
например
К. Касперски
"Фундаментальные основы хакерства"
"Техника отладки программ без исходных кодов"
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.02.2013, 23:15
Цитата Сообщение от ValeryS Посмотреть сообщение
не выгодно ломать
ну дак я так и сказал
Единственная возможность: писать на шарпе такой код, котороый декомпилить - себе дороже.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
01.02.2013, 23:17

Не по теме:

Цитата Сообщение от Psilon Посмотреть сообщение
ну дак я так и сказал
А я тебя и процитировал:)



Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Pjeroo Посмотреть сообщение
Возможно ли это, если возможно, то как?
есть еще одна возможность
написать никому не нужную вешь:)

0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.02.2013, 23:23
ValeryS, это я тоже написал
Цитата Сообщение от Psilon Посмотреть сообщение
А если лабы на 100 строк делаете, то они никому не интересны
0
62 / 62 / 5
Регистрация: 05.01.2013
Сообщений: 235
01.02.2013, 23:41
я посоветовал обфускатор, как средство для защиты исходного кода приложения от декомпиляции, а не как защиту от взлома. тс вроде это хотел - защитить исх. код, чтобы в нем никто не копался. а чтобы защитить от взлома, то одного обфускатора будет мало, нужно еще придумывать самому запутанные методы и тд. но это не даст 100 % защиты... рано или позно взломают, вопрос лишь времени.
ну и еще: а действительно такая ценная программа, что ее будут ломать? вот тут вопрос.
лично я использую обфускатор + протектор(фришные), исходник скрывает + обфусцирует, мне это пока подходит.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
01.02.2013, 23:52
Цитата Сообщение от Winhttp Посмотреть сообщение
как средство для защиты исходного кода приложения от декомпиляции,
А что считать декомпиляцией ???
чтобы вернулся исходный код как написал автор?
это не возможно в принципе компиляция односторонний процесс
не скажу за шарп( декомпилировал очень мало)
а на плюсах скомпилируй любую программу с выброшеной отладочной информацией плюс оптимизация
и все ты родную программу не получишь
оптимизатор поменял логику, например заменил деление на 2 на сдвиг
деление заменил умножением
классы потерялись, структуры размылись, статические переменные стали глобальными
и глядя на этот ассемблерный листинг начинаешь писать свою прогу которая делает тоже самое
она может быть будет похожа на авторскую но все равно не та

Добавлено через 1 минуту
Цитата Сообщение от Winhttp Посмотреть сообщение
протектор
все протекторы ( так скажем знаменитые а не самописные) обходятся на раз
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.02.2013, 23:52
Помогаю со студенческими работами здесь

Простейшая защита программы: где хранить число срабатываний программы?
День добрый! Написал одну небольшую программу, которая может быть интересна специализированной тусовке. Хочу распространять ее бесплатно,...

Защита программы
Здравствуйте! Как можно защитить свою программу от взлома? Я пытался использовать обфускатор NET Reactor но все равно мою программу смогли...

Защита программы
Вот такой вопрос: Написал программу, хочу передать её в безвозмездное пользование приятелю. Условие только одно - чтобы ей пользовался...

Защита программы
Есть программа на С++. Как поставить на нее защиту на 10 дней? Есть ли у кого пример готового кода.

Защита программы
Здравствуйте. Мне никогда не приходлось заниматься защитой программы и вот понадобилось. Подскажите как можно защитить ехе-шник от...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru