2009-09-18 6 views
2

고객에게 배포하려는 시험판 소프트웨어가 있습니다. 시험판 소프트웨어를 설치 한 후 30 일이 지나지 않아도됩니다.시간 기반 복사 방지 우회를 방지 하시겠습니까?

소프트웨어에서 시스템 날짜를 간단하게 확인하는 것이 가장 간단한 방법이지만 클라이언트가 Windows에서 시스템 시간/날짜를 변경하여이 보호 기능을 쉽게 피할 수 없었습니까?

내가 원하는 것을 성취 할 수있는 더 좋은 방법이 있습니까?

답변

2

최선의 방법은 경고를하지 않고 30 일 후에 두 가지 방법을 모두 확인해야합니다. 그렇지 않으면 미래에 시계를 설정하고 앱을 설치하고 오늘 시계를 재설정 할 수 있습니다. 또한 트레일 기간이 만료되면 앱을 잠그십시오. 따라서 시계를 재설정하더라도 잠겨 있어야합니다.

+6

과감한 행동을 할 때 사용자에게 경고하지 않는 것이 항상 좋은 아이디어입니다. – sleske

1

예, 시스템 시계를 바이올린으로 처리 할 수 ​​있습니다. 그러나 시험 기간의 종료일을 넘어서게되면서 점점 더 불편해진다. 그들은 시계를 사용하기 전에 소프트웨어 사용을 포기할 것입니다.

또는 더 많은 가능성이있어 보호 계획을 해킹하여 사용 시간을 무기한으로 지정합니다.

3

가장 최근에 수정 된 파일의 수정 된 시간을 확인합니다 (아마도 몇 가지 공통 경로가 있습니다. 자주 업데이트되지만 파일 시스템 만 검색하면됩니다.)

또한 '세션 남은 시간'(일부 비밀 위치에 저장 됨)을 세션에서 실행 한 시간만큼 줄일 수 있습니다. 0에 도달하면 완료됩니다. 또한 시계가 어떤 세션에서 최근에 본 값에서 뒤로 이동했는지 감지 할 수 있습니다. 하루 종일.

2

고객이 누구입니까? 그것이 일반 대중에게 있다면, 그리고 그것은 꽤 좁은 청중입니다, 나는 시간 기반 접근 방식을 고수 할 수 있다고 생각합니다. 나는 사용자가 시스템 시계를 조정하는 데 지쳐서 소프트웨어를 구입하는 것에 동의한다. 그러나 그것이 소프트웨어의 진짜 대중적인 조각이거나를 겨냥한 인 경우에, 그렇습니다 당신은 아마 금 가게하게 될 것이기 때문에 예심 보호를 강화해야한다.

1

소프트웨어 요청을 주기적으로 서버에 전달하는 것이 좋습니다. 사용자는 원하는 모든 시스템 시계를 조작 할 수 있지만 서버의 시계를 제어 할 수 있습니다. 라이센스 발행 시점을 서버가 알고있는 경우, 클라이언트의 클럭 상태에 관계없이 클라이언트의 요청에 적절하게 응답 할 수 있습니다.

면책 조항 & 플러그 : 내가 설립 한 회사는 OffByZero Cobalt licensing solution을 생산합니다. 이는 소프트웨어 보호를위한 턴키 솔루션으로, &은 특별히 언급 한 시간 제한 시나리오를 처리합니다.

0

언급 한 바와 같이 시간 기반 라이센스는 쉽게 해결할 수 있습니다. 사람들이 시스템 클럭을 재설정하지 못하도록 몇 번이나 뛰어 넘을 수 있습니다. 인증 된 시간 서버에 연락하여 내부 시계를 그렇게 설정할 수는 있지만 로켓 과학자가 코드에 액세스 할 수있는 경우이를 해킹하지는 않습니다. 쉬운 방법은 asm 목록에서 시간을 확인하고 그 지점을 둘러 보는 것입니다.

우리는 수년간 (공개 : 저는 복사 방지 회사 (www.wibu.us)에서 일하고 있습니다) 스마트 카드 칩과 인증 된 시간 서버의 내부 시계와 코드를 다시 설정하지 못하도록 코드를 작성하십시오 (코드는 항상 암호화되어 있으므로 패치 할 수 없습니다). 또한 내부 클럭을 사용하지만 스마트 카드 칩에는 사용하지 않는 소프트웨어 전용 솔루션이 있습니다.모든 보안 조치에는 단점이 있습니다. 귀하의 시장, 가격 등을위한 적절한 절충점을 찾는 것이 트릭입니다.