Хотелось бы обсудить возможность защиты программ, написанных на скриптовых языках. Мне сейчас конкретно интересна защита приложений на unity, на уровне что бы взлом был не доступен не профессионалу, а проффи просили суммы превышающие, скажем, $8000-$10000 (то, что хочу продавать достаточно дорогая штука). Понятно, что впрямую C# защитить не возможно по определению. Всякие обфускаторы, меняющие названия классов и переменных вызывают лишь улыбку (к слову сказать для unity даже и их толком нет). Всякие упаковщики в виртуальную среду типа энигм/молебоксов и пр. бессмысленны, так как их распаковщики есть даже в паблике. В общем всё как-то уныло.
Вот смотрю я сейчас в сторону BoxedApp — если написать некий свой алгоритм шифрования dll на компилируемом языке, накрыть чем-нибудь типа vmprotect, и серьёзно относиться к dll, которые подгружаются к процессу из вне (считать названия и их md5 например) то может в принципе получиться достаточно взломоустойчиво. Или как? Сам процесс лицензирования копии не рассматривается (будет что-то типа usb-свистков). Важно максимально затруднить доступ взломщика до изменения нескольких функций unity. Возможно ли такое?
P.S. Компьютер будет специально собираться под это ПО. Антивирусов на машинах нет, интернета нет.
Здравствуйте, Akad, Вы писали:
A>Всем привет,
A>Хотелось бы обсудить возможность защиты программ, написанных на скриптовых языках. Мне сейчас конкретно интересна защита приложений на unity, на уровне что бы взлом был не доступен не профессионалу, а проффи просили суммы превышающие, скажем, $8000-$10000 (то, что хочу продавать достаточно дорогая штука). Понятно, что впрямую C# защитить не возможно по определению. Всякие обфускаторы, меняющие названия классов и переменных вызывают лишь улыбку (к слову сказать для unity даже и их толком нет). Всякие упаковщики в виртуальную среду типа энигм/молебоксов и пр. бессмысленны, так как их распаковщики есть даже в паблике. В общем всё как-то уныло. A>Вот смотрю я сейчас в сторону BoxedApp
А чем молебокс принципиально отличается от BoxedApp? ИМХО теже яйца только сбоку.
Re: А вообще возможна ли серьёзная защита приложений C#?
Здравствуйте, 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#?
Здравствуйте, drVanо, Вы писали:
A>>Хотелось бы обсудить возможность защиты программ, написанных на скриптовых языках. Мне сейчас конкретно интересна защита приложений на unity, на уровне что бы взлом был не доступен не профессионалу, а проффи просили суммы превышающие, скажем, $8000-$10000 (то, что хочу продавать достаточно дорогая штука). Понятно, что впрямую C# защитить не возможно по определению. Всякие обфускаторы, меняющие названия классов и переменных вызывают лишь улыбку (к слову сказать для unity даже и их толком нет). Всякие упаковщики в виртуальную среду типа энигм/молебоксов и пр. бессмысленны, так как их распаковщики есть даже в паблике. В общем всё как-то уныло. A>>Вот смотрю я сейчас в сторону BoxedApp
V>А чем молебокс принципиально отличается от BoxedApp? ИМХО теже яйца только сбоку.
Могу ошибаться, но на сколько я понял MoleBox нельзя слиноковать в lib, накрыв общей защитой с декодирующим exe (исходники не дают), и с декодированием на лету dll в оперативку тоже не всё так просто.
Re[2]: А вообще возможна ли серьёзная защита приложений C#?
Здравствуйте, 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#?
Здравствуйте, Akad, Вы писали:
A>Выпуск новых фичей и пр — тоже не вариант. Продаётся ЗАКОНЧЕННЫЙ ПРОДУКТ. Интернета на этих машинах нет по определению. Да и в облако выносить нечего особо.
Тогда всё плохо. Взламывают любой код, если действительно нужно.
Пожалуй, единственный возможный вариант — критически важный код хранить и выполнять на отдельном мини-ПК, выполненном в виде донгла. При попытке вскрытия — стирать данные.
Re[4]: А вообще возможна ли серьёзная защита приложений C#?
A>Ох, какие юристы? Мы бизнес строим в СНГ. Тут даже государственные заказчики кидают на деньги, и ничего сделать с этим не возможно. А уж частные клиенты вообще плевали на само понятие интеллектуальной собственности. И с этим тоже ничего сделать не возможно. Причём конечные пользователи и знать часто не знают, что покупают контрафакт (возможно догадываются, но бумажки у них для полиции и прочих проверок все будут). Поломает кто-то один и будет продавать дешевле. Так что только защита. A>Выпуск новых фичей и пр — тоже не вариант. Продаётся ЗАКОНЧЕННЫЙ ПРОДУКТ. Интернета на этих машинах нет по определению. Да и в облако выносить нечего особо.
Вам самый путь в веб. Почему не хотите поменять бизнес модель на SaaS?
Re[3]: А вообще возможна ли серьёзная защита приложений C#?
Здравствуйте, Akad, Вы писали:
V>>А чем молебокс принципиально отличается от BoxedApp? ИМХО теже яйца только сбоку.
A>Могу ошибаться, но на сколько я понял MoleBox нельзя слиноковать в lib, накрыв общей защитой с декодирующим exe (исходники не дают), и с декодированием на лету dll в оперативку тоже не всё так просто.
Что-то я все равно не понял про декодирование ДЛЛ на лету. Оно нужно только для того чтобы расшифровать часть функций ехе-ника? Если да, то их сдампят сразу после расшифровки и засунут в декомпилятор.
Re[2]: А вообще возможна ли серьёзная защита приложений C#?
Здравствуйте, loginx, Вы писали:
A>>P.S. Компьютер будет специально собираться под это ПО.
L>ну тогда все просто, возьмите свою микросхемку с аппаратно прошитым внутри нужными вам алгоритмами L>и вмонтируйте в компьютер как PCI
L>Гуглить — "микросхемы с программируемой структурой". вроде это реверсу вообще не поддается за суммы до $100к
Можно намного проще — сейчас электронные ключи идут со своим процессором на борту (Senselock, Guargant Code, etc.), для которого можно писать собственные исполняемые модули.
Re[3]: А вообще возможна ли серьёзная защита приложений C#?
Здравствуйте, drVanо, Вы писали:
L>>ну тогда все просто, возьмите свою микросхемку с аппаратно прошитым внутри нужными вам алгоритмами L>>и вмонтируйте в компьютер как PCI L>>Гуглить — "микросхемы с программируемой структурой". вроде это реверсу вообще не поддается за суммы до $100к
V>Можно намного проще — сейчас электронные ключи идут со своим процессором на борту (Senselock, Guargant Code, etc.), для которого можно писать собственные исполняемые модули.
Очень уж внутри процессора слабенькие. Самая правильная защита — вынести часть логики в ключ, но в силу их смиЩной производительности ничего серьёзного там сделать не получается.
Re[4]: А вообще возможна ли серьёзная защита приложений C#?
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, drVanо, Вы писали:
L>>>ну тогда все просто, возьмите свою микросхемку с аппаратно прошитым внутри нужными вам алгоритмами L>>>и вмонтируйте в компьютер как PCI L>>>Гуглить — "микросхемы с программируемой структурой". вроде это реверсу вообще не поддается за суммы до $100к
V>>Можно намного проще — сейчас электронные ключи идут со своим процессором на борту (Senselock, Guargant Code, etc.), для которого можно писать собственные исполняемые модули.
CC>Очень уж внутри процессора слабенькие. Самая правильная защита — вынести часть логики в ключ, но в силу их смиЩной производительности ничего серьёзного там сделать не получается.
Если учесть, что многие криптоалгоритмы в томже сенселоке работают аппаратно (в том числе и RSA), то можно делать очень интересные вещи даже на таком смиЩном железе
Re[4]: А вообще возможна ли серьёзная защита приложений C#?
Здравствуйте, Олег К., Вы писали:
A>>Ох, какие юристы? Мы бизнес строим в СНГ. Тут даже государственные заказчики кидают на деньги, и ничего сделать с этим не возможно. А уж частные клиенты вообще плевали на само понятие интеллектуальной собственности. И с этим тоже ничего сделать не возможно. Причём конечные пользователи и знать часто не знают, что покупают контрафакт (возможно догадываются, но бумажки у них для полиции и прочих проверок все будут). Поломает кто-то один и будет продавать дешевле. Так что только защита. A>>Выпуск новых фичей и пр — тоже не вариант. Продаётся ЗАКОНЧЕННЫЙ ПРОДУКТ. Интернета на этих машинах нет по определению. Да и в облако выносить нечего особо.
ОК>Вам самый путь в веб. Почему не хотите поменять бизнес модель на SaaS?
Потому что это не возможно. Рендерить картинку на сервере — это необходимость в широком канале и качество картинки все равно будет крайне посредственное с огромными лагами. Больше критичного на сервер выносить нечего. Да и вообще для серьёзных проектов что бы ПО зависело от сервера — бред по определению. Сразу все уйдут к конкурентам.
Здравствуйте, Akad, Вы писали:
A>Потому что это не возможно. Рендерить картинку на сервере — это необходимость в широком канале и качество картинки все равно будет крайне посредственное с огромными лагами. Больше критичного на сервер выносить нечего. Да и вообще для серьёзных проектов что бы ПО зависело от сервера — бред по определению. Сразу все уйдут к конкурентам.
Часть уходит, а по деньгам мне вышел двукратный бонус. Зависит от монополии. Чем больше у вас монополия на решение задачи, тем более вы можете огорчать клиентов.
Re[3]: А вообще возможна ли серьёзная защита приложений C#?
A>Ох, какие юристы? Мы бизнес строим в СНГ. Тут даже государственные заказчики кидают на деньги, и ничего сделать с этим не возможно. А уж частные клиенты вообще плевали на само понятие интеллектуальной собственности. И с этим тоже ничего сделать не возможно. Причём конечные пользователи и знать часто не знают, что покупают контрафакт (возможно догадываются, но бумажки у них для полиции и прочих проверок все будут). Поломает кто-то один и будет продавать дешевле. Так что только защита. A>Выпуск новых фичей и пр — тоже не вариант. Продаётся ЗАКОНЧЕННЫЙ ПРОДУКТ. Интернета на этих машинах нет по определению. Да и в облако выносить нечего особо.
Тогда ничего нельзя сделать. Опанент сделает копию компьютера целиком, вместе с диском, и всё.