Я собираюсь сделать предположение, что, поскольку вы пишете условно-бесплатное программное обеспечение и упоминаете алгоритм регистрации, вы хотите защитить свое программное обеспечение от кейгена или патча, который обходит ограничения для ваших пробных версий.
На самом деле самое большее, что вы можете сделать, это сдерживать. Как и другие упоминали, существуют методы запутывания, но они не являются профилактическими. Доступны коммерческие упаковщики программного обеспечения, которые сжимают файл и делают его изначально нечитаемым. Но в какой-то момент программа должна быть распакована, чтобы машина могла ее запустить, поэтому она все еще обратима.
И это в значительной степени опора против любой из тех антиреверсивных техник, которые вы увидите. Это должно быть интерпретировано машиной в какой-то момент. Более современные упаковщики используют методы анти-отладки, чтобы удержать более начинающих реверсеров. Но эти методы в конечном итоге довольно быстро документируются на популярных сайтах реверсирования. Многие методы обходятся без простого плагина отладчика.
Единственный способ защитить ваш исполняемый файл от произвольного обращения - это запустить все это на сервере, которым вы управляете, и просто передать вывод пользователям. Но это не всегда возможно.
Что касается ваших языковых возможностей, возьмите добычу с this . Я не могу сказать, насколько он завершен, но я уверен, что некоторые другие могут добавить языки, о которых они думают.