시험 기간 후에 만료 될 애플리케이션을 만듭니다 [복제

StackOverflow https://stackoverflow.com/questions/1417848

  •  07-07-2019
  •  | 
  •  

문제

C# 2008 SP1

선택한 수의 고객에게 제공하고 싶은 응용 프로그램을 작성하고 있습니다.

트레일 기간 (1 개월) 이후에 응용 프로그램이 더 이상 작동하지 않도록 사용하기 가장 좋은 솔루션은 무엇입니까?

소프트웨어 구매에 관심이 있다면 라이센스 키나 무언가를 제공하여 응용 프로그램을 잠금 해제 할 것이라고 생각했습니다.

나는 스스로 일할 때 예산이 매우 제한되어 있습니다. 그렇다면이 작업을 수행하는 무료 제 3 자 제품이 있습니까?

도움이 되었습니까?

해결책

날짜 기반 접근 방식으로 가면 사용자가 날짜를 되돌려 놓으면 우회 할 수 있습니다. 대안은 만료되기 전에 응용 프로그램을 일정 횟수로 시작할 수 있도록하는 것입니다. 이 접근법은 분명히 날짜 변경을 무시합니다.

내가 선호하는 방법은 응용 프로그램의 일부를 비활성화합니다 이는 프로그램의 정상적인 사용에 중요하지만 평가에는 중요하지 않습니다 (예 : 작업을 저장하는 능력 등). 나는 내 자신의 소프트웨어로 이것을 수행 한 다음 전체 프로그램을 구매할 때 컴퓨터에 고유 한 잠금 해제 코드를 보냅니다. 이 접근법의 주요 장점 중 하나는 설치된 데모는 영원히 잠재적 인 판매 도구로 기능합니다.. 차라리 내 프로그램이 항상 어느 정도 일하도록하고 싶습니다. "죄송합니다.이 프로그램이 만료됐다"는 메시지가 많은 판매를 생성한다고 생각하지 않습니다.

다른 팁

귀하의 옵션 :

  1. 설치시 레지스트리에 무언가를 작성하여 나중에 찾아서 제거하기가 어렵습니다. 이런 식으로 응용 프로그램은 원래 설치시기와 지금도 여전히 작동하는지 여부를 알 수 있습니다. 레지스트리가 잘 정리되거나 OS가 다시 설치된 경우이 방법은 실패합니다.

  2. 일종의 온라인 검증 서비스를 사용하십시오. [1]의 단점이 없을 것이다. 또한 OS 설치를 초월하는 응용 프로그램 활동을 모니터링 할 수 있습니다. 그것이 작동하려면 어떻게 든 사용자 PC를 고유하게 식별하고 서버로 서명을 전송해야합니다.

다음은 사용자가 날짜/시간 설정으로 플레이하고 시계 데이트를하는 것을 막기위한 트릭입니다.

앱이 처음 실행되면 첫 번째 실행 날짜 및 종료 평가 날짜 및 레지스트리에서 마지막 실행 날짜를 암호화하십시오. 앱이 실행될 때마다 시스템 날짜가 아닌 종료 평가 날짜를 해독하고 확인하십시오. 이 솔루션은 인터넷 연결이없는 사용자에게 적합합니다.

설치 중에 레지스트리 키를 작성하십시오. 키에는 설치 날짜가 포함됩니다. 레지스트리 키의 날짜는 암호화되어야합니다.

신청서가 시작되면이 레지스트리 키가 있는지 확인하십시오. 그것이 존재하지 않으면 응용 프로그램이 닫히면 날짜를 해독하고 시험 기간을 확인하고 시험이 끝나면 신청서를 닫으십시오.

가장 간단한 솔루션 (그리고 결과적으로 가장 간단한 우회)은 프로그램이 파일에 처음 설치 (또는 실행) 날짜를 저장 한 다음 프로그램이 시작될 때마다 현재 날짜에 대해 확인하는 것입니다. 차이가> 30 일이면 프로그램을 종료하십시오.

날짜를 사용자가 훼손하기 어려운 더 모호한 장소 나 장소에 (예 : 레지스트리)를 저장함으로써 시스템을 우회하고 사용하기에 더 많은 시간을 얻는 것이 점점 더 어려워 지지만 멈추지 않습니다. PC의 시계를 되 감는다.

서버에 날짜를 저장하고 서버에서 날짜를 얻는 경우 더 안전하지만 사용자가 소프트웨어를 사용하려면 인터넷 연결이 열려 있어야 함을 의미합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top