문제

내가 만든 제품도 생성된 라이센스 키를 위한 것이지만 내가 원하는 요청하는 키를 한 후 30 일입니다.나는 그것으로 레지스트리 값을 저장 날짜로 추가 30 일니다.하지만 내가 발견되는 경우에는 사용자 시스템을 변경일 30 일 전에 나의 논리를 작동하지 않습니다.

그래서에 대한 해결책이 있습니까 재판 버전 소프트웨어는 확인하지 않고 시스템의 날짜만 허용할 수도 있 30 일 trial?

도움이 되었습니까?

해결책

매일 사용 후 증가하는 또 다른 레지스트리 키를 가질 수 있습니다. 그렇게하면 컴퓨터 날짜를 변경 하더라도이 키는 프로그램에 30 일 동안 실행되고 있음을 나타냅니다.

또한이 값은 사용자가 수동으로 변경하려고 시도하면 값을 해독 할 수없고 유효한 숫자를 얻을 수 없기 때문에 프로그램이 실행을 거부 할 수 있습니다.

다시 설치하려면 해당 앱의 앱 버전에 고유 한 앱의 시험판으로 저장된 파일에 정보를 추가 할 수 있습니다 (아마도 설치되었을 때의 타임 스탬프). 앱의 평가판 버전이 파일을 열려고 할 때이 서명을 확인하고 동일한 인스턴스로 생성되었는지 확인합니다. 그렇지 않으면 파일 열기를 거부합니다. 이것은 본질적으로 중립적으로 앱을 다시 설치하고 계속 사용할 수있는 능력을 중립화합니다.

그러나 하루가 끝나면 사용자는 컴퓨터를 완전히 제어 할 수 있으며 원하는대로 원하는 방법을 찾을 수 있습니다 (사용자가 앱을 사용하기 전에 이러한 세부 정보에 보관되는 웹 서비스에 액세스하는 것은 부족합니다. ). 당신은 아마도이 추가 문제를 겪고 자하는 사람들을 막으려 고 노력하는 많은 에너지를 소비해서는 안되며, 대신에 추가 시간/돈/에너지를 기꺼이 지불하는 사람들을 위해 앱을 개선하는 데 소비해야합니다.

다른 팁

나는 당신을 위해 하나의 간단한 해결책이 있습니다.

레지스트리에 대한 2 개의 변수를 사용하십시오 : 1. 날짜 2. 카운터

단계 :

  1. 카운터 = 1을 설정하십시오

  2. 시스템 날짜 복사 날짜

  3. 날짜가 현재 날짜와 다른 경우 해당 날짜를 레지스트리 날짜에 복사하는 경우 매번 확인하십시오. 또한 카운터를 1 씩 증가시킵니다. 날짜가 동일하다면 아무것도하지 마십시오.

  4. 이제 시험 일 만료에 대한 카운터를 확인할 수 있습니다.

이러한 트릭을 사용하면 사용자가 시스템 날짜를 이전 날짜로 변경하는 경우 작동하는 것보다도 작동합니다.

레지스트리의 경우 기술 담당자가 논리를 인식하지 못하도록 날짜 및 카운터를 암호화 할 수 있습니다!

건배...

추가

이 논리는 사용자가 매일 날짜를 변경하지 않을 때만 실패합니다! 다시 우리는 그것에 대한 해결책이 있습니다!

그것이 가능한지 아닌지는 모르겠지만 항상 몇 가지 해결책을 가질 수 있습니다.

  1. 시험 기간의 총 시간을 계산하여 레지스트리에 저장하십시오.
  2. 이제 각 실행의 총 시간을 계산하여 다른 변수에 추가하십시오. (타이머가 할 수 있기를 바랍니다)
  3. 만료 결정을 내리기위한 두 가지 값을 비교하십시오.

라이센스 구성 요소를 사용할 수 있습니다. 당신은 직접 만들 수 있습니다 (참조 Licensemanager 클래스), 또는 공급 업체로부터 하나를 구매하십시오 (예 : 암호화).

사용자가 처음 시험을 시작한 날짜를 변경하는 경우 탐지 방법이 있어야합니다. 내가 이전에 사용한 솔루션에서, 우리는 "마지막으로 실행 된"날짜와 "첫 번째 실행"날짜를 저장했으며, 시계가 이틀 이상의 "마지막 실행"으로 변경되면 시험을 만료합니다. 또한 이틀을 거슬러 올라가는 날짜를 계속 움직일 수 없도록 "일일"카운터가 필요합니다 (해당 부품을 언급하는 것을 잊어 버리십시오).

물론, 이와 같은 소프트웨어 라이센스 시스템은 레지스트리의 적절한 새로 고침으로 제거하고 다시 설치함으로써 항상 피할 수 있습니다. 트릭은이 라이센스 정보를 난독 화하고 복제하기에 충분히 어려워 지지만 결국에는 발견됩니다 (특히, 특히 당신이 찾을 수 있습니다. 흡수되지 않은 .NET 코드베이스 사용).

드 과정은 30 일을 참조하지 않고 시스템 날짜/시계입니다.당신은 항상 유지의 목록을 날짜에 소프트웨어 또는 응용 프로그램이 시작하고 카운트 1 위해 모든 다른에서는 지난 시간이다.이 방법은 사용자가를 설정하는 같은 날짜 때마다 그들은 발사합니다.

다른 것보다,당신을 제공하가 있었 인터넷,쿼리가 알려진 시간 서버에 대한 현재 날짜입니다.이될 수 있습니다 차단하지만 당신은 항상 수요 인터넷에 연결하기 전에의 응용 프로그램을 시작하겠습니다.

마지막으로,외부,지역 시간에 원본을 통해 하드웨어 동글 또는 이와 유사한지만 생각으로 얻는 극단 더 나을 것이프를 직접 관리하는 시험에서 사람입니다.

인터넷 연결을 보장 할 수있는 경우 온라인 체계를 구현할 수 있습니다 (시간 서버 또는 자체 인증 서버를 확인하십시오). 물론 인터넷이 사라지면 사용자는 작동 할 수 없습니다.

궁극적으로 나는 타사 라이센스 솔루션을 구매한다고 말하고 싶습니다. 여전히 깨지지 않지만 많은 시간과 노력없이 자신을 할 수있는 것보다 더 강력 할 것입니다.

마지막 실행 날짜를 저장하고 시스템 날짜가있을 때마다 시험을 만료하십시오.

유일한 실패 안전 방법은 아무도 연결 코드를 깨뜨리지 않았다고 가정 할 때 호스팅하는 서비스에 대해 앱을 검증하는 것입니다.)

레지스트리 값/격리 된 스토리지 파일/저장된 설정을 지울 수있는 한 : 시험을 다시 시작할 수 있습니다. 그것에 대해 할 수있는 일은 많지 않습니다. 그렇기 때문에 사람들이 시간 기반 시험 기간 외에도 시험 소프트웨어에서 기능 감소를 선택하는 이유입니다.

8 시간의 시험 사용량 (30 일 시험 대신)을 허용하는 것이 허용되는 경우, DateTime의 시스템에 대한 의존성을 제거하는 한 가지 방법은 앱에서 타이머를 사용하여 매 순간 발사됩니다. 이것들을 계산하면 앱이 실행될 때마다 총 사용 분이 계산됩니다. 그런 다음 레지스트리와 같이이 카운트 값을 어딘가에 저장할 수 있습니다.

간단한 상점 평가 종료 날짜이며 매일 확인하십시오. 날짜 조작으로 연장 된 사용을 피하려면 응용 프로그램에서 1 시간 카운트를 유지하십시오. 계속 증가하고 레지스트리에 작성하십시오. 평가 종료 날짜와 시간 카운트는 24를 초과하지 않는 시간에 대해 확인해야합니다 (일부 Teolrence에서는 30 일 수 있음).

또한 생각하십시오 :

응용 프로그램 마감의 데이터 시간을 절약하면 다음에 점심을 먹으면 신청서가 DateTime 설정이 변경되었는지 여부를 감지 할 수 있습니다 (최소한 마감 시간 전에 무언가로 변경할 수 없습니다). 예시 :

응용 프로그램 마감시 :

시간 절약 => 15:34 03/31/2014 (저장)

다음에 응용 프로그램의 시작 :

datime.now> 15:34 03/31/2014를 확인하십시오. (그래서 그들은 그렇게 벨로가 될 수 없습니다 ...)

추가 :

어떻게 든 시스템의 DateTime 설정을 응용 프로그램 사용에 통합하려면 송장, 티켓, 영수증 생성 ...

무료 프로젝트 Libprot을 사용할 수 있습니다. 사이트는입니다 https://github.com/libprot/trunk.

아이디어는 간단하고 사용하기 쉬워야한다는 것입니다. 보호에 $$$를 쓸 수 있지만 일주일 안에 해킹 될 수 있습니다. 누군가가 코드의 역 엔지니어링을 원한다면 아무도 그것을 멈출 수 없습니다. 작동하는 간단한 방법을 사용하라는 조언.

다음과 같은 문자열을 작성하십시오.

회사 x | 10.2.2014 | 1.12.2015

여기서 10.2.2014가 현재 날짜이고 시스템 시간이 적은 경우 누군가가 시스템 시계를 변경했습니다 => 우리는 실행되지 않아야합니다.

1.12.2015- 키가 유효 할 때까지

그리고 그것을 사고 다운로드 한 회사의 이름.

이 문자열은 개인/공개 키가있는 비대칭 알고리즘으로 난독 화되어야하며 예를 들어 이메일로 보낼 수있는 문자열로 인코딩해야합니다.

유효성 검사를 위해 웹 서비스를 원할 수도 있습니다. 인터넷 연결이 켜져 있으면 키를 검증 할 수 있습니다. 키가 해킹되어 인터넷에서 공개적으로 사용할 수있는 경우 금지 할 수 있습니다. 또는 누군가가 키 생성기를 작성하는 경우 해당 키가 실제임을 확인할 수 있습니다.

사이트에 PHP/Java 스크립트를 추가하여 평가판 코드를 자동으로 전송할 수 있습니다.

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