1. Какой язык используете для своих программ?
2. Стоит ли заботиться о защите программы или это только при сотнях тысяч экземпляров скачек? Планирую писать на .Net, а сзащитой там туго.
Re: Язык для Shareware или нужна ли защита вообще?
Здравствуйте, Alllie, Вы писали:
A>1. Какой язык используете для своих программ?
Плюсы, но есть планы насчет питона.
A>2. Стоит ли заботиться о защите программы или это только при сотнях тысяч экземпляров скачек? Планирую писать на .Net, а сзащитой там туго.
Я бы больше волновался насчет желания пользователей ставить рантайм, чем насчет защиты.
хотел уже на боковую
папаху снял и сапоги
но в комментариях проснулись
враги
Re: Язык для Shareware или нужна ли защита вообще?
Здравствуйте, Alllie, Вы писали:
A>1. Какой язык используете для своих программ?
C# A>2. Стоит ли заботиться о защите программы или это только при сотнях тысяч экземпляров скачек? Планирую писать на .Net, а сзащитой там туго.
Обфускаторы есть. Плюс, если хорошо знать такие вещи, как Reflection, а в особенности Emit, и хорошо понимать, как работает криптография и матстат, то все можно сделать
Re[2]: Язык для Shareware или нужна ли защита вообще?
Здравствуйте, Brice Tribbiani, Вы писали:
BT>Здравствуйте, PKz, Вы писали:
PKz>>Эта проблема, наверно, уже уходит в прошлое, если писать под .NET 2.0
BT>А .NET 2.0 еще не уходит в прошлое?
розжыгаете?
Re[5]: Язык для Shareware или нужна ли защита вообще?
Здравствуйте, шароварный желудь, Вы писали:
ШЖ>розжыгаете?
[GrammarNazi]
При всей моей любви к Желудям, очень хочется попросить хотябы "жи ши писать с буквы и". А то мы тут вконец грамотность утратим. Ибо запретный плод сладок, а дурной пример заразителен.
[/GrammarNazi]
Re[6]: Язык для Shareware или нужна ли защита вообще?
Здравствуйте, Matrix_Failure, Вы писали:
M_F>Здравствуйте, шароварный желудь, Вы писали:
ШЖ>>розжыгаете?
M_F>[GrammarNazi] M_F>При всей моей любви к Желудям, очень хочется попросить хотябы "жи ши писать с буквы и". А то мы тут вконец грамотность утратим. Ибо запретный плод сладок, а дурной пример заразителен. M_F>[/GrammarNazi]
Хорошо, Матрикс, но хочется попросить хотя бы "хотябы" писать как "хотя бы". А то мы тут вконец грамотность утратим.
Re[2]: Язык для Shareware или нужна ли защита вообще?
Здравствуйте, bazis1, Вы писали:
B>Обфускаторы есть. Плюс, если хорошо знать такие вещи, как Reflection, а в особенности Emit, и хорошо понимать, как работает криптография и матстат, то все можно сделать
Криптография и матстат это конечно здорово, но чем вы собираетесь защищать тот самый заветный условный переход, который делает из триала/демки/(вписать свой вариант) полнофункциональную версию? В этом то как раз самая главная проблема, а до криптографии дело может даже и не дойти
Re[3]: Язык для Shareware или нужна ли защита вообще?
можно важную часть кода сделать как native, и защитить вашей защитой.
V>Криптография и матстат это конечно здорово, но чем вы собираетесь защищать тот самый заветный условный переход, который делает из триала/демки/(вписать свой вариант) полнофункциональную версию? В этом то как раз самая главная проблема, а до криптографии дело может даже и не дойти
Re[4]: Язык для Shareware или нужна ли защита вообще?
учите хаскел! он раньше компилировал через С, я как-то попробовал в генерируемом там коде разобраться. 4 строчки на хаскеле превратились в 15 кб кода на С! про заветные условные переходы в таком коде, я думаю, можно и не заикаться
Q>можно важную часть кода сделать как native, и защитить вашей защитой.
V>>Криптография и матстат это конечно здорово, но чем вы собираетесь защищать тот самый заветный условный переход, который делает из триала/демки/(вписать свой вариант) полнофункциональную версию? В этом то как раз самая главная проблема, а до криптографии дело может даже и не дойти
Люди, я люблю вас! Будьте бдительны!!!
Re[5]: Язык для Shareware или нужна ли защита вообще?
Здравствуйте, BulatZiganshin, Вы писали: BZ>учите хаскел!
А на нем вообще реально приложение для домашних пользователей писать? Как с GUI?
Я с ним не знаком, но как-то были порывы изучить, но без практического приложения как-то они быстро затухли.
Re[6]: Язык для Shareware или нужна ли защита вообще?
Здравствуйте, PKz, Вы писали:
BZ>>учите хаскел!
PKz>А на нем вообще реально приложение для домашних пользователей писать? Как с GUI?
вот в подписи такое приложение и даже с исходниками. логику программы на нём писать — самое то, плюс C++ для критичных к скорости вещей, плюс Lua для расширяемости пользователем. GUI вполне работоспособен, но без изысков — например, Drag&Drop я не могу сделать. по большому счёту, я бы предпочёл сделать GUI на ещё одном языке
PKz>Я с ним не знаком, но как-то были порывы изучить, но без практического приложения как-то они быстро затухли.
имхо его нужно знать просто для прочищения мозгов, но без реальных проектов наверно действительно не получится
Люди, я люблю вас! Будьте бдительны!!!
Re[6]: Язык для Shareware или нужна ли защита вообще?
Здравствуйте, Matrix_Failure, Вы писали:
M_F>[GrammarNazi] M_F>При всей моей любви к Желудям, очень хочется попросить хотябы "жи ши писать с буквы и". А то мы тут вконец грамотность утратим. Ибо запретный плод сладок, а дурной пример заразителен. M_F>[/GrammarNazi]
Т.е. вторая буква тебя не смутила Это же явный сарказм, поэтому и не "разжигаете".
Re[3]: Язык для Shareware или нужна ли защита вообще?
Здравствуйте, drVanо, Вы писали:
V>Здравствуйте, bazis1, Вы писали:
B>>Обфускаторы есть. Плюс, если хорошо знать такие вещи, как Reflection, а в особенности Emit, и хорошо понимать, как работает криптография и матстат, то все можно сделать
V>Криптография и матстат это конечно здорово, но чем вы собираетесь защищать тот самый заветный условный переход, который делает из триала/демки/(вписать свой вариант) полнофункциональную версию? В этом то как раз самая главная проблема, а до криптографии дело может даже и не дойти
А зачем делать защиту, где этот переход будет один? Ну покажет хакеру программа, что она активирована. Толку с того, если после этого она сыпаться начнет при каждом чихе из-за несовпадения кое-чего с кое-чем, проверяемого в динамически генеренном коде?
Re[4]: Язык для Shareware или нужна ли защита вообще?
Здравствуйте, bazis1, Вы писали:
B>А зачем делать защиту, где этот переход будет один? Ну покажет хакеру программа, что она активирована. Толку с того, если после этого она сыпаться начнет при каждом чихе из-за несовпадения кое-чего с кое-чем, проверяемого в динамически генеренном коде?
Тут есть один скользкий момент. Если она сыпется без объяснения причины, то это воспринимается за глюки и пользователи кряков начинают распространять инфу, что программа — глюкалово, а это плохо влияет на имидж продукта.
Re[4]: Язык для Shareware или нужна ли защита вообще?
Здравствуйте, bazis1, Вы писали:
B>А зачем делать защиту, где этот переход будет один? Ну покажет хакеру программа, что она активирована. Толку с того, если после этого она сыпаться начнет при каждом чихе из-за несовпадения кое-чего с кое-чем, проверяемого в динамически генеренном коде?
Т.е. это все вы уже делали на С# это все не дизасмится штатными инструментами? Очень было бы интересно взглянуть на сие.
Re[3]: Язык для Shareware или нужна ли защита вообще?
Здравствуйте, drVanо, Вы писали:
V>Криптография и матстат это конечно здорово, но чем вы собираетесь защищать тот самый заветный условный переход, который делает из триала/демки/(вписать свой вариант) полнофункциональную версию? В этом то как раз самая главная проблема, а до криптографии дело может даже и не дойти
В ключе должно быть что-то необходимое для работы программы, а не просто для проверки if/else. К сожалению по такому принципу можно построить только functional limited защиту.
Re[4]: Язык для Shareware или нужна ли защита вообще?
Здравствуйте, edton, Вы писали:
E>В ключе должно быть что-то необходимое для работы программы, а не просто для проверки if/else. К сожалению по такому принципу можно построить только functional limited защиту.
Это хороший вариант. Я, например, делал так:
Из ключа получал оригинальное число X. Посредством математических операций, получал из Х строку Y.
Потом делал CallByName(Y,массив с параметрами),т.е. вызывал функцию с именем Y, передавая ей необходимые параметры. Если Ключ не верный, то и функции с именем Y не существует. Выпадает исключение.
Это исключение отлавливается в MyApplication.UnhandledException и фильтруется по Exception.TargetSite.MetadataToken. Если получаем нужный нам MetadataToken — знать регистрация не верная. Тут-то и можно уже выводить наг. скрины, мигать лампочками, пищать бипперами, форматировать винчестеры, загружать и запускать трояны....
В С# нет CallByName, можно попробовать GetType().InvokeMember