Я собираюсь сделать предположение, что, поскольку вы пишете условно-бесплатные файлы, и вы упомянули алгоритм регистрации, который вы хотите защитить свое программное обеспечение от кейгена или патча, который обходит ограничения на ваши пробные версии.
Действительно, больше всего вы можете это сделать. Как и другие, упоминалось, что существуют методы обфускации, но они не являются превентивными. Имеются коммерческие пакеты программного обеспечения, которые сжимают файл и делают его изначально нечитаемым. Но программа должна быть декомпрессирована в какой-то момент, чтобы машина могла ее запустить, поэтому она по-прежнему обратима.
И это в значительной степени костыль против любой из технологий против реверса, которые вы увидите. В какой-то момент он должен интерпретироваться машиной. Более современные упаковщики используют методы анти-отладки, чтобы удержать больше новичков. Но эти методы в конечном итоге документируются довольно быстро на популярных сайтах реверсирования. Многие из методов обходят не более чем простой плагин отладчика.
Единственный способ, с помощью которого я могу защитить ваш исполняемый файл от произвольного обращения, - это запустить все это на сервере, которым вы управляете, и просто передать результат пользователям. Но это не всегда возможно.
Что касается вариантов на вашем языке, возьмите добычу в this. Я не могу сказать, насколько это полно, но я уверен, что некоторые другие могут добавить языки, о которых они думают.
При всем уважении, в то время как я понимаю ваше желание для защиты, я не думаю, что это будет работать. Люди, которые взломают программное обеспечение, разобрали его и выяснили, где положить крючки, которые нарушают вашу систему регистрации. Если они смогут сделать это с большими именами, которые инвестируют миллионы в меры по борьбе с пиратством, к сожалению, они смогут это сделать с вами. Не говоря, что мне нравится эта ситуация, заметьте, но это то, что есть. :( –
Честно говоря, это должно быть в вашем списке, если что-то влияет на ваш выбор языка.Основываясь на выборе языка вокруг того, что вы хотите сделать, это поможет разработать программу, которая работает, и люди хотят ее купить. – vickirk
Если это возможно, сделайте свое программное обеспечение веб-сайтом. Зарабатывайте платежеспособных клиентов, предоставляя отличный сервис по разумной цене. И не бойтесь предлагать бесплатную версию, чтобы привлечь внимание. Компьютеры упрощают копирование контента, что, в свою очередь, повышает ценность отдельных копий ближе и ближе к нулю. Стоимость копий находится на рекордно низком уровне - глупо было бы заниматься продажей копий. – leepowers