2008-09-19 2 views
13

나는 온라인으로 꽤 싸게 팔려고하는 사진가를위한 유틸리티를 작성했습니다 ($ 10). 라이센스를 요청하기 전에 사용자가 1 주일 정도 소프트웨어를 사용해 볼 수있게하고 싶습니다. 개인 프로젝트이므로 소프트웨어 비용이 많이 들지는 않습니다. 전문 라이센스 공급자의 서비스를 구입하는 것이 그만한 가치가있을 것이라고 생각하지 않습니다.평가판/라이센스 전략

현재 응용 프로그램은 평가판이 만료되거나 유효한 라이센스가있는 암호화 된 문자열이 포함 된 레지스트리 키를 확인합니다. 키가 없으면 시험 사용 기간 키가 생성됩니다.

무료로 다른 주를 얻으려면 레지스트리 키를 삭제해야합니다. 많은 사람들이 그렇게 생각하지 않습니다. 특히 앱이 10 달러 밖에 안되는 경우에는 그렇습니다.하지만 합법적 인 사용자에게는 부담이되지 않는 더 좋은 방법이 있는지 궁금합니다. 나는 웹 애플 리케이션을 정상적으로 작성하고 전에 이런 것들을 다루지 않았다.

응용 프로그램은 .NET 2.0에서 중요합니다.

답변

15

편집 : 레지스트리 정보를 LSA (Local Security Authority)에 저장하면 현재 라이센스 스키마를 상당히 어렵게 만들 수 있습니다. 대부분의 사용자는 거기에서 키 정보를 제거 할 수 없습니다. MSDN에서 LSA를 검색하면 필요한 정보를 얻을 수 있습니다.

라이센싱 체계에 대한 의견은 각 개인에 따라 다르며 특정 사용자 그룹 (예 : 사진사)보다 개발자마다 더 다양합니다. 심층적 인 호흡을 감수하고 응용 프로그램에서 해결해야 할 비즈니스 요구 사항을 고려할 때 대상 사용자가 받아 들일 수있는 대상을 확인해야합니다.

이것은 주제에 대한 나의 개인 의견입니다. 동의하지 않는 성대사가있을 것입니다.

답변은 응용 프로그램 사용 방법에 크게 달려 있습니다. 매일 여러 번 응용 프로그램을 사용할 것으로 예상되는 경우 잠금 상태를 만들기 위해 매우 긴 평가판 기간 (몇 개월)을 최대한 활용할 수 있습니다. 이 기능을 사용하려면 소프트웨어에서 곧 지불이 필요할 것임을 사용자에게 경고하는 유예 기간이 있어야합니다. 유예 기간이 시작되기 전에 평가판 사용 기간 동안 소프트웨어가 침묵하면 큰 성공을 거둘 수 있습니다.

당신이 믿는 것을 선택하거나하지 않는 것은 아주 과감한 성명서는 물론 전적으로 당신에게 달린 것입니다. 하지만 그렇게한다면 시험 신청 기간이 짧을수록 신청서가 적게 사용된다는 사실을 깨달아야합니다. 또한 사용자가 적은 비용으로 데이터를 입력하고 가능한 한 적은 클릭으로 지불하는 것이 매우 중요합니다.

신청서 사용에 대해 매우 확신이 서지 않은 경우 매우 짧은 평가판 기간을 선택해야합니다. 이 경우 시험 기간에 있다는 사실에 대해 침묵을 지키면 내 경험상 더 나은 결과를 얻을 수 있습니다.

"전화 집"기능은 라이센스 목적으로 효과적이지만 많은 사람들이 개인 정보 위협으로 간주합니다. 개인적으로 나는 이것이 그가 사용하고있는 소프트웨어에 대해 지불 할 의사가있는 고객에게 나쁜 것이라는 개념에 동의하지 않습니다. 따라서 응용 프로그램에서 라이선스 상태 (평가판, 유료)를 정기적으로 확인하고 시간이되면 소프트웨어 비용을 지불하는 데 도움이되는 라이선스 구성표를 구현하는 것이 좋습니다. 작은 유틸리티 응용 프로그램의 경우 이는 과잉 사용 일 수 있습니다.

매우 작거나 단순한 유틸리티 애플리케이션의 경우 시험 기간이없는 선불 결제가 가장 효과적이라고 주장합니다.

솔루션의 보안과 관련하여 개발 노력에 비례하게해야합니다. 제 업무에서 보안과 관련된 파트너와 딜러가 있기 때문에 보안은 매우 중요합니다. 개발에 대한 투자가 매우 높기 때문에 보안이 매우 중요합니다. 소규모 유틸리티 응용 프로그램의 경우 가격을 올바르게 책정하고 비즈니스 요구 사항을 해결하는 소프트웨어에 대해 지불 할 정직한 사용자에게 의존하는 것이 좋습니다.

1

이러한 상황에서 저는 여러분이하는 일이 정말로 중요하다고 생각하지 않습니다. 어떤 종류의 보호 기능을 사용하면 사용자의 90 %가 중지됩니다. 나머지 10 %는 소프트웨어에 대한 비용을 지불하고 싶지 않으면 자신이하는 일에 상관없이 보호 수단을 찾을 것입니다.

좀 더 명확하지 않은 사항을 원할 경우 응용 프로그램이 시작할 때 시스템 파일과 비슷한 소리가 들리는 파일을 System32에 넣을 수 있습니다. 그것은 추적하기가 조금 더 어려울 수 있습니다.

+1

관리자가 아닌 사용자가 설치하지 못하도록하십시오. – finnw

+1

이것은 정확히 해커들이하는 일입니다 .... – anon2009

11

복잡한 보호 계획을 세우는 데 별다른 의미가 없습니다. 기본적으로 두 가지 중 하나가 발생합니다.

  1. 앱이 인기가 없으며 누구도이를 크랙하지 않습니다.

  2. 귀하의 앱이 인기를 얻고 누군가 그것을 해독하고 출시하면 아무 것도 지식이없는 사람도 당신을 속이기 위해 그 균열을 다운로드 할 수 있습니다.

# 1의 경우, 한두 명의 추가 사용자가 앱을 구매할 수 있으므로 많은 노력을 기울일 필요가 없습니다. # 2의 경우 누군가가 어쨌든 그것을 깰 것이기 때문에 많은 노력을 기울일 가치가 없으며 노력은 낭비 될 것입니다.

기본적으로 제 제안은 이미 여러분처럼 간단합니다. 그게 효과적입니다. 당신을 속이고/훔치고 싶지 않은 사람들은 돈을 지불 할 것이고, 속이기를 원하는 사람들은 상관없이 그것을 할 것입니다.

4

제어하는 ​​서버에서 홈페이지를 호스팅하는 경우 소프트웨어의 다운로드 가능한 시험 버전을 매일 새 이진 파일로 자동 컴파일 할 수 있습니다. 이 컴파일은 소프트웨어가 만료 될 때 프로그램의 하드 코딩 된 날짜 시간 값을 대체합니다. 그런 식으로 "속일"수있는 유일한 방법은 컴퓨터에서 날짜를 변경하는 것입니다, 그리고 대부분의 사람들은 그렇게 만들 수있는 문제 때문에 그렇게하지 않을 것입니다.

http://en.wikipedia.org/wiki/Street_Performer_Protocol

은 기본적으로 당신이 소프트웨어의 개선을 개발 한 다음 이전에 기부금의 일정 금액을 요구 :

당신이 당신의 소프트웨어를 개발을 계속하려는 경우
+3

그건 꽤 창조적입니다! 그러나 설치 프로그램을 친구에게 보내고 CD로 구운 경우 이미 만료 된 설치, 사용자 경험이 좋지 않을 수 있습니다. – palmsey

+0

예,이 방법을 사용하는 경우 사용자에게 더 많은 평가판 기간을 제공해야한다고 생각합니다. 그런 다음 10 월 1 일의 만료 날짜를 나타내는 평가판 소프트웨어 "MyApp-September.exe"의 이름을 지정할 수도 있습니다. – Espo

2

, 당신은 몸값 모델을 고려해 볼 수 있습니다 DRM없이 배포하십시오.내가 당신이라면 :

... 그것을 할 수

2

한 가지 방법은 그 사용자에게 쉽게하지만 당신은 하드 코드에 유효 기간이하지에 대한 모든 이제 다음 설치 프로그램의 새 버전을 그러나, 나는 당신이 이미하고있는 것보다 더 진전되지 않을 것입니다. 10 달러에 불과하다고 말한 것처럼 누군가가 정말로 당신의 시스템을 해독하기를 원한다면 아무리 복잡해도 그것을 할 것입니다.

넷 연결을 필요로하고 서버가 시험 사용 키를 생성하도록하여 좀 더 고급 버전의 구성표를 만들 수 있습니다. 서명 행 (hash (unique_computer_id + when_to_expire))을 따라 무언가를 수행하고 앱이 만료일에 서명 한 공개 키를 앱에 확인하게하려면 우회하기 위해 "실제"해킹이 필요합니다.

이렇게하면 고유 한 ID의 서버 측을 저장할 수 있고 만료일을 두 번 이상 생성하지 않을 수 있습니다. 고유 ID로 사용할 항목을 모르지만 Windows에서 유용하게 사용할 수있는 방법이 있어야합니다.

2

나는뿐만 아니라 매우 낮은 가격에 판매하고있어 응용 프로그램과 똑같은 문제에 직면하고있다.

앱을 난처하게 만드는 것 외에도 레지스트리에있는 두 개의 키를 사용하는 시스템을 생각해 냈습니다.이 중 하나는 설치 시간을 결정하고 다른 하나는 실제 라이센스 키를 결정하는 데 사용됩니다. 키의 이름이 모호하게 나타나며 누락 된 키는 설치를 변조 함을 나타냅니다.

물론 두 키를 모두 삭제하고 응용 프로그램을 다시 설치하면 평가 시간이 다시 시작됩니다.

어쨌든 문제가되지 않는다고 생각했습니다. 앱을 해독하려는 사람이 성공할 것이므로, 그렇게 성공한 사람이 균열을 발견 할 수 있습니다.

그래서 결국 응용 프로그램을 너무 쉽게 깰 수 없다는 목표를 달성하고 있으며, 이는 고객의 80-90 %가 그렇게하지 못하도록하는 것입니다. 그리고 afterall : 응용 프로그램이 매우 저렴한 가격으로 판매되기 때문에 이미 가지고있는 것보다 더 많은 시간을이 문제에 투자 할 이유가 없습니다.

2

면허 만 있으면 멋집니다. 이것이 당신의 열정과 당신의 노동의 자녀라는 것을 앞에 설명하십시오. 사람들에게 옳은 일을 할 수있는 기회를 제공하십시오. 누군가가 해적질을하고 싶다면, 결국에는 일어날 것입니다. 나는 비트 트렌트에 관한 나의 책을 보면서 나의 절망을 여전히 기억하지만, 당신은 그 책을 다루어야 만한다. 캐주얼 해적판에 동굴을 세우지 마십시오. (당신이 지금하고있는 일은 훌륭하게 들립니다.) 그러나 그 이상으로 사물을 해치지 마십시오. 나는 아직도 정직한 사람들이 가치있는 코딩 노력을 할 가치가 있다고 믿는다.

2

"설치 후 며칠"기준으로 평가하지 않고 대신 사용 일수 또는 실행 횟수 또는 이와 유사한 것을 수행하십시오. 사람들은 셰어웨어를 다운로드하고 한 번 또는 두 번 실행 한 다음 다시 필요할 때까지 몇 주 동안 잊어 버리는 경향이 있습니다. 그때까지는 평가판이 만료되었을 수 있으므로 잠시 동안 설치 한 적이 있어도 앱을 사용하여 관심을 갖기 만하면됩니다. 활성화/일 수 대신 작업에 앱을 사용하는 습관을 갖게하고 더 강하게 팔 수 있습니다 (예 :이 앱을 30 번 사용했습니다 ...).

기능을 제한하는 것이 시간 초과하는 것보다 효과적입니다. 예를 들어 사진 앱을 사용하면 사용자를 1 메가 픽셀 이미지로 제한 할 수 있지만 원하는만큼 사용할 수 있습니다.

또한 앱 가격을 20 달러 (또는 19 달러)로 책정하는 것이 좋습니다. (예 : iPhone 상점이나 XBoxLive 또는 그와 같은) 소액 결제 설정이없는 경우 사람들은 특정 가격대 (앱 종류에 따라 약 20 달러) 아래에서 물건을 온라인으로 구매하는 경향이 있으며 사람들은 다음과 같은 경우에 무의식적으로 생각합니다. 무언가가 저렴하고, 아주 좋지 않아야합니다. 실제로 전환율을 더 높은 가격으로 올릴 수 있습니다 (최대 요점까지).