최근 OnGuard를 정직한 사람들이 그들의 원칙을 준수하는 데 도움이되는 방법으로 사용하는 방법을 살펴 보았습니다. 나는 라이센스 시스템이 귀하의 소프트웨어를 사용하고자하는 사람으로부터 귀하를 보호 할 것이고 비용을 지불하고 싶지 않다는 많은 사람들의 의견에 동의합니다. 다른 한편으로, 나는 다른 누군가가 내 프로그램을위한 유효한 키를 만드는 것을 너무 쉽게하지 않기를 바란다. OnGuard와의 라이센스
- 이를 사용하는 올바른 방법처럼 보이는가 :
const TheKey: TKey = ($4A,$62,$F3,$2B,$9C,$D2,$84,$BF,$CB,$04,$0A,$C3,$3D,$11,$47,$1A); function TfrmMain1.MakeCode(sName, sNumber: String; dtExpiration: TDate): String; var Key: TKey; Code: TCode; sCode: String; begin Key := TheKey; InitRegCode(Key, sName + ' - ' + sNumber, dtExpiration, Code); sCode := BufferToHex(Code, SizeOf(Code)); Insert('-', sCode, 13); Insert('-', sCode, 09); Insert('-', sCode, 05); Result := sCode end; function TfrmMain1.TestCode(sName, sNumber, sTestCode: String; dtExpiration: TDate): Boolean; var Key: TKey; Code: TCode; sCode: String; begin sCode := MakeCode(sName, sNumber, dtExpiration); Result := SameText(sCode, sTestCode); end;
이 몇 가지 질문을 제공합니다 :
은 설명서와 예제를 공부 한 후, 나는 내 기본 폼의 코드에 다음을 추가 ? 차라리 양식에 구성 요소를 추가하지 않을 것입니다.
OnGuard 소스를 사용할 수 있기 때문에 해커가 리버스 엔지니어링을 통해 키를 선택하고 유효한 릴리스 코드를 생성 할 수 없습니까? 따라서 코드에 약간의 난독 화를 추가해야할까요 아니면 그냥 시스템을 약화시킬 수 있을까요?
키는 여기에서 상수로 설정됩니다. 연속 된 바이트로 코드에 나타나지 않고 복사하기 쉽지 않습니까?
내 프로그램에는 연간 업데이트가 필요하며 연간 가입으로 라이센스를 구입할 계획입니다. 내 프로그램에서 상수로 연도를 추가하고 해당 연도에 대한 사용자 항목을 몇 군데에서 테스트하는 것이 더 강력할까요?
밀접한 관련이 있고 매우 구체적인 4 가지 질문이 있습니다. 그것은 4 개의 분리 된 입장에서 그들에게 질문하는 것이 더 어색 할 것 같았고 문맥에 대한 참고 문헌을 추가해야만하는 것처럼 보였습니다. 그러나 그것이 바람직한 것이라면 나는 그것을 기꺼이 할 것입니다. 도와 줘서 고마워.
잭
정직한 사람들은 집행이없는 경우에도 여전히 원칙을 준수합니다. 그것이 그들이 정직하게 만드는 이유입니다. –
당신이주의해야 할 것들은 얼마나 많은 라이센스를 사용하고 있는지를 알아야 할 필요가 있습니다. 왜냐하면 사용하는 라이센스 수를 추적 할 수 없기 때문입니다! –