А вообще возможна ли серьёзная защита приложений C#?
От: Akad  
Дата: 27.09.14 01:56
Оценка:
Всем привет,

Хотелось бы обсудить возможность защиты программ, написанных на скриптовых языках. Мне сейчас конкретно интересна защита приложений на unity, на уровне что бы взлом был не доступен не профессионалу, а проффи просили суммы превышающие, скажем, $8000-$10000 (то, что хочу продавать достаточно дорогая штука). Понятно, что впрямую C# защитить не возможно по определению. Всякие обфускаторы, меняющие названия классов и переменных вызывают лишь улыбку (к слову сказать для unity даже и их толком нет). Всякие упаковщики в виртуальную среду типа энигм/молебоксов и пр. бессмысленны, так как их распаковщики есть даже в паблике. В общем всё как-то уныло.
Вот смотрю я сейчас в сторону BoxedApp — если написать некий свой алгоритм шифрования dll на компилируемом языке, накрыть чем-нибудь типа vmprotect, и серьёзно относиться к dll, которые подгружаются к процессу из вне (считать названия и их md5 например) то может в принципе получиться достаточно взломоустойчиво. Или как? Сам процесс лицензирования копии не рассматривается (будет что-то типа usb-свистков). Важно максимально затруднить доступ взломщика до изменения нескольких функций unity. Возможно ли такое?
P.S. Компьютер будет специально собираться под это ПО. Антивирусов на машинах нет, интернета нет.
защита c#
Re: А вообще возможна ли серьёзная защита приложений C#?
От: drVanо Россия https://vmpsoft.com
Дата: 27.09.14 08:23
Оценка:
Здравствуйте, Akad, Вы писали:

A>Всем привет,


A>Хотелось бы обсудить возможность защиты программ, написанных на скриптовых языках. Мне сейчас конкретно интересна защита приложений на unity, на уровне что бы взлом был не доступен не профессионалу, а проффи просили суммы превышающие, скажем, $8000-$10000 (то, что хочу продавать достаточно дорогая штука). Понятно, что впрямую C# защитить не возможно по определению. Всякие обфускаторы, меняющие названия классов и переменных вызывают лишь улыбку (к слову сказать для unity даже и их толком нет). Всякие упаковщики в виртуальную среду типа энигм/молебоксов и пр. бессмысленны, так как их распаковщики есть даже в паблике. В общем всё как-то уныло.

A>Вот смотрю я сейчас в сторону BoxedApp

А чем молебокс принципиально отличается от BoxedApp? ИМХО теже яйца только сбоку.
Re: А вообще возможна ли серьёзная защита приложений C#?
От: Sharowarsheg  
Дата: 27.09.14 09:20
Оценка:
Здравствуйте, Akad, Вы писали:

A>P.S. Компьютер будет специально собираться под это ПО. Антивирусов на машинах нет, интернета нет.


Если уж вы продаете это вместе с железкой, добавьте в комплект GPRS модем и унесите всё существенное на сервер.
Re: А вообще возможна ли серьёзная защита приложений C#?
От: ZloeBablo Германия  
Дата: 27.09.14 09:37
Оценка:
Еще есть:
http://www.mono-project.com/docs/advanced/aot/
Re: А вообще возможна ли серьёзная защита приложений C#?
От: kleng  
Дата: 27.09.14 11:05
Оценка:
Здравствуйте, Akad, Вы писали:

A>Всякие обфускаторы, меняющие названия классов и переменных вызывают лишь улыбку


Это лучше, чем отдавать код со всеми осмысленными названиями. Хорошо хоть идея не раздавать всем комментарии не вызывает у тебя улыбку.
Re: А вообще возможна ли серьёзная защита приложений C#?
От: AnonThisTime  
Дата: 27.09.14 11:10
Оценка:
Здравствуйте, Akad, Вы писали:

A>Всем привет,


A>Хотелось бы обсудить возможность защиты программ, написанных на скриптовых языках. Мне сейчас конкретно интересна защита приложений на unity, на уровне что бы взлом был не доступен не профессионалу, а проффи просили суммы превышающие, скажем, $8000-$10000 (то, что хочу продавать достаточно дорогая штука). Понятно, что впрямую C# защитить не возможно по определению. Всякие обфускаторы, меняющие названия классов и переменных вызывают лишь улыбку (к слову сказать для unity даже и их толком нет). Всякие упаковщики в виртуальную среду типа энигм/молебоксов и пр. бессмысленны, так как их распаковщики есть даже в паблике. В общем всё как-то уныло.

A>Вот смотрю я сейчас в сторону BoxedApp — если написать некий свой алгоритм шифрования dll на компилируемом языке, накрыть чем-нибудь типа vmprotect, и серьёзно относиться к dll, которые подгружаются к процессу из вне (считать названия и их md5 например) то может в принципе получиться достаточно взломоустойчиво. Или как? Сам процесс лицензирования копии не рассматривается (будет что-то типа usb-свистков). Важно максимально затруднить доступ взломщика до изменения нескольких функций unity. Возможно ли такое?

для standalone app — нет, если есть возможность вынести бэкэнд, то шансы резко возрастают (ваш кейс "а проффи просили суммы превышающие, скажем, $8000-$10000").
Чаще выпускайте новые фичи, поддержка пользователей, наем юристов (если речь идет о килобаксах) должны перевесить время затраченное на "100%" защиту от взлома. Я бы купил проверенный временем обфускатор (smartassembly и т.п.) и не парился.
Re[2]: А вообще возможна ли серьёзная защита приложений C#?
От: Akad  
Дата: 27.09.14 11:31
Оценка:
Здравствуйте, drVanо, Вы писали:

A>>Хотелось бы обсудить возможность защиты программ, написанных на скриптовых языках. Мне сейчас конкретно интересна защита приложений на unity, на уровне что бы взлом был не доступен не профессионалу, а проффи просили суммы превышающие, скажем, $8000-$10000 (то, что хочу продавать достаточно дорогая штука). Понятно, что впрямую C# защитить не возможно по определению. Всякие обфускаторы, меняющие названия классов и переменных вызывают лишь улыбку (к слову сказать для unity даже и их толком нет). Всякие упаковщики в виртуальную среду типа энигм/молебоксов и пр. бессмысленны, так как их распаковщики есть даже в паблике. В общем всё как-то уныло.

A>>Вот смотрю я сейчас в сторону BoxedApp

V>А чем молебокс принципиально отличается от BoxedApp? ИМХО теже яйца только сбоку.


Могу ошибаться, но на сколько я понял MoleBox нельзя слиноковать в lib, накрыв общей защитой с декодирующим exe (исходники не дают), и с декодированием на лету dll в оперативку тоже не всё так просто.
Re[2]: А вообще возможна ли серьёзная защита приложений C#?
От: Akad  
Дата: 27.09.14 11:48
Оценка:
Здравствуйте, AnonThisTime, Вы писали:

ATT>Здравствуйте, Akad, Вы писали:


A>>Всем привет,


A>>Хотелось бы обсудить возможность защиты программ, написанных на скриптовых языках. Мне сейчас конкретно интересна защита приложений на unity, на уровне что бы взлом был не доступен не профессионалу, а проффи просили суммы превышающие, скажем, $8000-$10000 (то, что хочу продавать достаточно дорогая штука). Понятно, что впрямую C# защитить не возможно по определению. Всякие обфускаторы, меняющие названия классов и переменных вызывают лишь улыбку (к слову сказать для unity даже и их толком нет). Всякие упаковщики в виртуальную среду типа энигм/молебоксов и пр. бессмысленны, так как их распаковщики есть даже в паблике. В общем всё как-то уныло.

A>>Вот смотрю я сейчас в сторону BoxedApp — если написать некий свой алгоритм шифрования dll на компилируемом языке, накрыть чем-нибудь типа vmprotect, и серьёзно относиться к dll, которые подгружаются к процессу из вне (считать названия и их md5 например) то может в принципе получиться достаточно взломоустойчиво. Или как? Сам процесс лицензирования копии не рассматривается (будет что-то типа usb-свистков). Важно максимально затруднить доступ взломщика до изменения нескольких функций unity. Возможно ли такое?

ATT>для standalone app — нет, если есть возможность вынести бэкэнд, то шансы резко возрастают (ваш кейс "а проффи просили суммы превышающие, скажем, $8000-$10000").

ATT>Чаще выпускайте новые фичи, поддержка пользователей, наем юристов (если речь идет о килобаксах) должны перевесить время затраченное на "100%" защиту от взлома. Я бы купил проверенный временем обфускатор (smartassembly и т.п.) и не парился.

Ох, какие юристы? Мы бизнес строим в СНГ. Тут даже государственные заказчики кидают на деньги, и ничего сделать с этим не возможно. А уж частные клиенты вообще плевали на само понятие интеллектуальной собственности. И с этим тоже ничего сделать не возможно. Причём конечные пользователи и знать часто не знают, что покупают контрафакт (возможно догадываются, но бумажки у них для полиции и прочих проверок все будут). Поломает кто-то один и будет продавать дешевле. Так что только защита.
Выпуск новых фичей и пр — тоже не вариант. Продаётся ЗАКОНЧЕННЫЙ ПРОДУКТ. Интернета на этих машинах нет по определению. Да и в облако выносить нечего особо.
Re[3]: А вообще возможна ли серьёзная защита приложений C#?
От: kleng  
Дата: 27.09.14 12:08
Оценка:
Здравствуйте, Akad, Вы писали:

A>Выпуск новых фичей и пр — тоже не вариант. Продаётся ЗАКОНЧЕННЫЙ ПРОДУКТ. Интернета на этих машинах нет по определению. Да и в облако выносить нечего особо.


Тогда всё плохо. Взламывают любой код, если действительно нужно.
Пожалуй, единственный возможный вариант — критически важный код хранить и выполнять на отдельном мини-ПК, выполненном в виде донгла. При попытке вскрытия — стирать данные.
Re[4]: А вообще возможна ли серьёзная защита приложений C#?
От: sanyock Россия  
Дата: 27.09.14 13:28
Оценка:
http://www.gapotchenko.com/eazfuscator.net/features/virtualization

http://www.infralution.com/licensing.html
Re[2]: А вообще возможна ли серьёзная защита приложений C#?
От: sanyock Россия  
Дата: 27.09.14 13:32
Оценка:
Здравствуйте, ZloeBablo, Вы писали:

ZB>Еще есть:

ZB>http://www.mono-project.com/docs/advanced/aot/

в DotNet грядет native, aot в mono — это тоже самое?

нельзя ли уже сейчас aot использовать для создания native windows exe, такие exe запускаются под вендой только в mono или dotnet тоже ?
Re: А вообще возможна ли серьёзная защита приложений C#?
От: loginx  
Дата: 27.09.14 13:39
Оценка:
Здравствуйте, Akad, Вы писали:

A>P.S. Компьютер будет специально собираться под это ПО.


ну тогда все просто, возьмите свою микросхемку с аппаратно прошитым внутри нужными вам алгоритмами
и вмонтируйте в компьютер как PCI

Гуглить — "микросхемы с программируемой структурой". вроде это реверсу вообще не поддается за суммы до $100к
Re[3]: А вообще возможна ли серьёзная защита приложений C#?
От: Олег К.  
Дата: 27.09.14 21:06
Оценка:
A>Ох, какие юристы? Мы бизнес строим в СНГ. Тут даже государственные заказчики кидают на деньги, и ничего сделать с этим не возможно. А уж частные клиенты вообще плевали на само понятие интеллектуальной собственности. И с этим тоже ничего сделать не возможно. Причём конечные пользователи и знать часто не знают, что покупают контрафакт (возможно догадываются, но бумажки у них для полиции и прочих проверок все будут). Поломает кто-то один и будет продавать дешевле. Так что только защита.
A>Выпуск новых фичей и пр — тоже не вариант. Продаётся ЗАКОНЧЕННЫЙ ПРОДУКТ. Интернета на этих машинах нет по определению. Да и в облако выносить нечего особо.

Вам самый путь в веб. Почему не хотите поменять бизнес модель на SaaS?
Re[3]: А вообще возможна ли серьёзная защита приложений C#?
От: drVanо Россия https://vmpsoft.com
Дата: 28.09.14 07:38
Оценка:
Здравствуйте, Akad, Вы писали:

V>>А чем молебокс принципиально отличается от BoxedApp? ИМХО теже яйца только сбоку.


A>Могу ошибаться, но на сколько я понял MoleBox нельзя слиноковать в lib, накрыв общей защитой с декодирующим exe (исходники не дают), и с декодированием на лету dll в оперативку тоже не всё так просто.


Что-то я все равно не понял про декодирование ДЛЛ на лету. Оно нужно только для того чтобы расшифровать часть функций ехе-ника? Если да, то их сдампят сразу после расшифровки и засунут в декомпилятор.
Re[2]: А вообще возможна ли серьёзная защита приложений C#?
От: drVanо Россия https://vmpsoft.com
Дата: 28.09.14 07:57
Оценка:
Здравствуйте, loginx, Вы писали:

A>>P.S. Компьютер будет специально собираться под это ПО.


L>ну тогда все просто, возьмите свою микросхемку с аппаратно прошитым внутри нужными вам алгоритмами

L>и вмонтируйте в компьютер как PCI

L>Гуглить — "микросхемы с программируемой структурой". вроде это реверсу вообще не поддается за суммы до $100к


Можно намного проще — сейчас электронные ключи идут со своим процессором на борту (Senselock, Guargant Code, etc.), для которого можно писать собственные исполняемые модули.
Re[3]: А вообще возможна ли серьёзная защита приложений C#?
От: CreatorCray  
Дата: 28.09.14 11:10
Оценка:
Здравствуйте, drVanо, Вы писали:

L>>ну тогда все просто, возьмите свою микросхемку с аппаратно прошитым внутри нужными вам алгоритмами

L>>и вмонтируйте в компьютер как PCI
L>>Гуглить — "микросхемы с программируемой структурой". вроде это реверсу вообще не поддается за суммы до $100к

V>Можно намного проще — сейчас электронные ключи идут со своим процессором на борту (Senselock, Guargant Code, etc.), для которого можно писать собственные исполняемые модули.


Очень уж внутри процессора слабенькие. Самая правильная защита — вынести часть логики в ключ, но в силу их смиЩной производительности ничего серьёзного там сделать не получается.
Re[4]: А вообще возможна ли серьёзная защита приложений C#?
От: drVanо Россия https://vmpsoft.com
Дата: 28.09.14 12:44
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, drVanо, Вы писали:


L>>>ну тогда все просто, возьмите свою микросхемку с аппаратно прошитым внутри нужными вам алгоритмами

L>>>и вмонтируйте в компьютер как PCI
L>>>Гуглить — "микросхемы с программируемой структурой". вроде это реверсу вообще не поддается за суммы до $100к

V>>Можно намного проще — сейчас электронные ключи идут со своим процессором на борту (Senselock, Guargant Code, etc.), для которого можно писать собственные исполняемые модули.


CC>Очень уж внутри процессора слабенькие. Самая правильная защита — вынести часть логики в ключ, но в силу их смиЩной производительности ничего серьёзного там сделать не получается.


Если учесть, что многие криптоалгоритмы в томже сенселоке работают аппаратно (в том числе и RSA), то можно делать очень интересные вещи даже на таком смиЩном железе
Re[4]: А вообще возможна ли серьёзная защита приложений C#?
От: Akad  
Дата: 28.09.14 15:31
Оценка:
Здравствуйте, Олег К., Вы писали:

A>>Ох, какие юристы? Мы бизнес строим в СНГ. Тут даже государственные заказчики кидают на деньги, и ничего сделать с этим не возможно. А уж частные клиенты вообще плевали на само понятие интеллектуальной собственности. И с этим тоже ничего сделать не возможно. Причём конечные пользователи и знать часто не знают, что покупают контрафакт (возможно догадываются, но бумажки у них для полиции и прочих проверок все будут). Поломает кто-то один и будет продавать дешевле. Так что только защита.

A>>Выпуск новых фичей и пр — тоже не вариант. Продаётся ЗАКОНЧЕННЫЙ ПРОДУКТ. Интернета на этих машинах нет по определению. Да и в облако выносить нечего особо.

ОК>Вам самый путь в веб. Почему не хотите поменять бизнес модель на SaaS?


Потому что это не возможно. Рендерить картинку на сервере — это необходимость в широком канале и качество картинки все равно будет крайне посредственное с огромными лагами. Больше критичного на сервер выносить нечего. Да и вообще для серьёзных проектов что бы ПО зависело от сервера — бред по определению. Сразу все уйдут к конкурентам.
Отредактировано 28.09.2014 15:33 Akad . Предыдущая версия .
Re[5]: А вообще возможна ли серьёзная защита приложений C#?
От: Sharowarsheg  
Дата: 28.09.14 15:42
Оценка:
Здравствуйте, Akad, Вы писали:

A>Потому что это не возможно. Рендерить картинку на сервере — это необходимость в широком канале и качество картинки все равно будет крайне посредственное с огромными лагами. Больше критичного на сервер выносить нечего. Да и вообще для серьёзных проектов что бы ПО зависело от сервера — бред по определению. Сразу все уйдут к конкурентам.


Часть уходит, а по деньгам мне вышел двукратный бонус. Зависит от монополии. Чем больше у вас монополия на решение задачи, тем более вы можете огорчать клиентов.
Re[3]: А вообще возможна ли серьёзная защита приложений C#?
От: Sharowarsheg  
Дата: 28.09.14 16:36
Оценка: +1
Здравствуйте, Akad, Вы писали:


A>Ох, какие юристы? Мы бизнес строим в СНГ. Тут даже государственные заказчики кидают на деньги, и ничего сделать с этим не возможно. А уж частные клиенты вообще плевали на само понятие интеллектуальной собственности. И с этим тоже ничего сделать не возможно. Причём конечные пользователи и знать часто не знают, что покупают контрафакт (возможно догадываются, но бумажки у них для полиции и прочих проверок все будут). Поломает кто-то один и будет продавать дешевле. Так что только защита.

A>Выпуск новых фичей и пр — тоже не вариант. Продаётся ЗАКОНЧЕННЫЙ ПРОДУКТ. Интернета на этих машинах нет по определению. Да и в облако выносить нечего особо.

Тогда ничего нельзя сделать. Опанент сделает копию компьютера целиком, вместе с диском, и всё.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.