2010-11-25 5 views
0

안녕 한 PC에서 다른 PC로 프로그램을 복사하지 못하도록 Microsoft의 LicenseProvider 모델과 공용/개인 키 쌍으로 복사 방지 메커니즘을 구현했습니다. 아주 간단합니다. 시작시 라이센스 파일은 컴퓨터에 대한 정보, 만료일 및이 라이센스 파일의 어셈블리 이름이 포함되어 있어야합니다. 누군가 MyProgramA.exe.lic에서 MyProgramB.exe.lic로 라이센스 파일의 이름을 바꾸면 어떻게 될까요? 두 프로그램 모두 동일한 방법으로 복사 방지 된 경우 .lic 파일의 이름을 변경하면 유효한 ProgramB 라이센스가 충분합니다. 이 때문에 어셈블리 이름을 .lic 파일에 저장했습니다. 어셈블리 이름은 일치해야합니다.현재 복사 방지 어셈블리에 대한 라이센스 파일이 있는지 확인하십시오.

누군가 이제 ProgramB의 이름을 ProgramA로 변경하면 어떻게됩니까? 어셈블리 이름이 일치하고 다시 라이센스가 유효합니다. 더 강력한 방탄복을 만들기위한 아이디어가 있습니까?

다시 말하지만, 이것은 독점적 인 솔루션이므로, 난독 처리가없고, 제 3 자 도구가 존재하지 않습니다.

감사합니다!

답변

0

귀하의 어셈블리에 서명하면 사람들이 성공적으로 이름을 바꿀 수 있다고 생각하지 않습니다.

1

lic 파일에 어셈블리 이름 (파일 이름 아님)을 저장하십시오. 파일 이름이 변경 되더라도 어셈블리 이름은 동일합니다.

단순히 다른 앱에 다른 암호화 키를 사용하는 것이 더 좋습니다. 이렇게하면 exe 또는 lic 파일의 이름이 바뀌어도 상관 없습니다.