고객에게 판매하기 전에 라이센스가 필요한 프로그램을 만들었습니다. 확신 할 수 없기 때문에 상업용 라이센스 소프트웨어의 비용을 최소한 절감 할 수 있으므로 구입하지 않으려합니다. .Net 실시간 소프트웨어 라이선스
그래서 나는 다음과 같은 논리 라이선스 기능을 구현하는 방법에 대한 조언을 찾고 있어요 :- 때마다 응용 프로그램이 시작이 (아무 라이센스 정보가 라이센스를 제외하고 userside에 저장되지 않습니다 키는 서버 측에서 검증 된 모든 라이센스 번호).
- 하나의 라이센스 키로 동시에 실행되는 응용 프로그램은 하나뿐입니다.
간단한 디 컴파일/디스 어셈블에서 내 프로그램을 보호하고 라이센스를 확인하기 위해 호출을 제거하는 방법은 무엇입니까? 또는 각 라이센스에 대해 응답을 할 자체 서버를 만드시겠습니까? 그러한 보안은 일반적으로 어떻게 이루어 집니까?
무료 SDK 등을 검색했지만 찾을 수 없습니다. 도와 줘서 정말 고마워!
P.S : 시스템을 "파괴 할 수 없게 만들려는 것이 아닙니다."하지만 프로그램 복사본에 $ 5.10을 지불하는 것보다 더 많은 비용이 드는 보호를 받고 싶습니다.
P.P.S : 나쁜 영어로 죄송합니다.
사용자가 인터넷에 연결되어있을 때만 응용 프로그램을 시작할 수 있다고 생각하십니까? 이것은 많은 랩탑/모바일 사용자와 연결 상태가 좋지 않은 사람을 배제 할 수 있습니다. 또한, 지금까지 무엇을 시도 했습니까? 귀하의 질문은 연구가 부족하다는 것을 보여 주며, 종종 질문이 닫히거나 무시되는 결과를 낳습니다. –
http://msdn.microsoft.com/en-us/magazine/cc164108.aspx에서는 어셈블리의 이름을 지정하면 어셈블리가 손상되는 것을 방지 할 수 있습니다. 웹 서비스의 경우 응답을 받기 전에 클라이언트가 유효성을 검사해야하는 서버 인증서를 사용해야합니다. 그러나 이렇게하면 모든 오프라인 사용자가이 기능을 사용할 수 없게됩니다. – Ramesh
죄송합니다. 질문이 명확하다고 생각했습니다. 지금까지 저는 라이센스를 확인하기 위해 webservice와 클라이언트를 작성했습니다. 제대로 작동하지만 간단히 말해서 방어력을 떨어 뜨리는 것은 간단합니다 ... 누군가가 이것을 보호 할 방법에 대한 조언을 줄 수 있는지 물었습니다. 내 앱이 온라인 게임 자동화가되면 사용자는 모두 인터넷 연결이 원활해야하므로 실시간 확인에 문제가 없습니다. 난독 화는 괜찮지 만, 난독 처리 후에도 여전히 디버거에서 이벤트를 잡아서 건너 뛸 수 있습니다. – CodeDemen