Я написал программу на C++ и хочу ее защитить. Мне нужно, чтобы программа могла работать только на авторизованном компьютере, и я бы остановил программу, когда захочу. Я думал, что 2 решения, но я не знаю, хороши они или легко сломаны.Запуск программы C++ только на авторизованном компьютере
Первое решение:
local_mac_address = get_mac_address();
if(local_mac_address == "\* authorized addr */")
return true;
else
return false;
Второе решение: я загрузить HTML-страницу с помощью секретного кода на моем сайте.
page = download_page(url);
if(page == "my_secret_code")
return true;
else
return false;
Если я изменю код источника HTML программа не запустится.
Что вы думаете об этих двух решениях? Являются ли они безопасными?
Edit: Исполняемые работает на компьютерах в офисе, так что я хочу, чтобы избежать этого, кто-то может скопировать его и использовать на компьютере theyr
На самом деле это не вопрос на C++.Адреса Mac можно легко подделать, и веб-страницы могут быть перехвачены. Как вы объясните, почему вы хотите защитить программу? Например, каковы последствия, если они запускаются на компьютере, отличном от «разрешенного»? Сколько денег вы готовы заплатить, чтобы защитить свою программу? – Peter
Практически невозможно сделать приложение, работающее на машине пользователя, стойкой к царапинам. Любой, у кого есть дизассемблер и шестнадцатеричный редактор, может выложить вас. Все, что вы можете сделать, это усложнить ситуацию. То, о чем вы должны спросить себя, - это то, почему кто-то захочет украсть или иным образом запустить ваше приложение несанкционированным образом. Если у них есть сильная мотивация, то в принципе вы ничего не можете сделать, чтобы остановить их. В противном случае вы можете сделать это достаточно сложно, чтобы они не потрудились попробовать, но опять же, вероятно, у них, вероятно, не хватает мотивации, чтобы попробовать в первую очередь. –
Если вам стоит заплатить за вашу программу, люди сделают это, независимо от того, тратите ли вы усилия на защиту от копирования или нет. – user463035818