Как я могу запутать свой код c #, так что его нельзя легко деобфусить?

Я освобождаю кучу инструментов бесплатно, но недавно я начал продавать приложение, имеющее частные исследования, и люди смогли получить исходный код, и один человек публично выпустил весь мой источник. Я потратил много времени на эту программу, просто чтобы кто-то ее взломал и выпустил весь мой источник.

Как я могу защитить свою программу? Я пробовал HWID, но люди все еще могут взломать его. Я знаю, что я ограничен C #, но это наиболее удобно использовать. Мне просто нужен способ защитить свои программы от людей, пытающихся это сделать.

    Вы могли бы взглянуть на многие инструменты обфускации, которые есть там, например те, которые указаны в https://stackoverflow.com/questions/805549/free-obfuscation-tools-for-net (обратите внимание: вопрос, который в настоящее время недоступен для просмотра ).

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

    http://gapotchenko.com/eazfuscator.net
    http://codefort.org/download
    http://orangeheap.blogspot.nl
    http://confuser.codeplex.com (сменил https://yck1509.github.io/ConfuserEx/ ) http://ntoolbox.com

    Ну, проблема с такими языками, как C # / Java, заключается в том, что они, как правило, намного проще де-путать. Способ обеспечить это, как правило, заключается в том, чтобы помещать этот материал в веб-сервис, но вы сказали, что не можете этого сделать. Как переносить конкретные нетривиальные функции на язык, такой как C, и обфускать это. Затем ваша программа C # может использовать reflection для совершения вызовов этой внешней / неуправляемой dll. Это увеличило бы трудность де-обфускации, но проблема в том, что, если кто-то хочет, чтобы это было достаточно плохо, они могут понять это, поскольку это клиентская сторона.

    Возможно, юридическое действие является единственным реальным решением здесь, но это не сайт для юридических консультаций, и я не имею права давать его, если это так.

    Кроме того, это может быть бизнес-решение. Рассмотрите возможность создания своего программного обеспечения с открытым исходным кодом и отправьте пожертвование. Я также не компетентен давать бизнес-консультации, но это стоит рассмотреть. Это может фактически увеличить ваш доход, не говоря уже о других преимуществах, которые приходят с выпуском программного обеспечения с открытым исходным кодом.

    Там есть Dotfuscator ( http://www.preemptive.com/products/dotfuscator/overview ). Но лучшим решением в некоторых случаях является предложение того, что вы делаете в качестве веб-сайта (Программное обеспечение как услуга).

    Рассмотрим этот инструмент, например, для преобразования VB в C #: http://converter.telerik.com/

    Или этот инструмент для форматирования JSON: http://jsonformatter.curiousconcept.com/

    Это может работать или не работать для вас. Я не знаю, какой характер программного обеспечения вы пытаетесь защитить.

    Нет, ваш код должен содержать информацию, необходимую для дешифрования, ее невозможную проблему решить.

    Лучшее решение – разместить свою интеллектуальную собственность на сервере в облаке, к которому у вас есть доступ. Дайте своим клиентам уникальный логин, проверите их доступ, чтобы проверить на злоупотребление, выгрузите столько усилий на ваших машинах клиентов, но держите свои алгоритмы в облаке.

    Interesting Posts
    Давайте будем гением компьютера.