문제

브라우저 내에서 Silverlight 코드가 어떻게 작동하는지 이해하지 못합니다. 어셈블리가 클라이언트 머신에 다운로드됩니까? 리플렉터 또는 유사한 도구를 사용하여 코드가 소환 될 가능성이 있습니까? 그렇다면 코드를 보호 해야하는 옵션은 무엇입니까? .NET Obfuscators는 Silverlight에서 작동합니까?

도움이 되었습니까?

해결책

Silverlight 애플리케이션을 보려면 클라이언트는 DLL과 하나의 구성 XML 및 옵션 리소스가 포함 된 .xap 파일을 다운로드합니다. DLL에는 클라이언트 시스템의 Silverlight 런타임에서 실행되는 컴파일 된 C# 코드가 포함되어 있습니다. Silverlight 런타임은 기본적으로 완전한 .NET 런타임의 하위 집합입니다. 따라서 요점은 사용자가 DLL에서 코드를 가져온 다음 도구를 사용하여 원래 소스 코드를 얻을 수 있다는 것입니다. 그래서 당신은 대부분 당신이 할 수있는 것입니다. 여전히 옵션이되어서는 안되는 매우 중요한 코드의 경우. 다른 방법 (WCF 또는 기타 웹 서비스를 사용하여 코드의 일부를 숨길 수 있음)이 필요로하는 경우 다른 방법을 사용할 수 있습니다.

다른 팁

웹 브라우저에있을 때마다 모든 클라이언트 사이드 코드는 컴퓨터에 다운로드되며 사용자가 검사 할 수 있습니다. 이것은 JavaScript, Flash 및 Silverlight에 적용됩니다.

절대적으로 숨겨져야하는 독점 코드가있는 경우 서버에 넣고 클라이언트가 전화하여 사용자에게 정보를 표시 할 수있는 API를 노출해야합니다.

Silverlight 앱에서 코드를 보는 것이 얼마나 쉬운 지 확인하고 싶다면 Silverlightspy를 실행합니다.링크 텍스트 ~에 의해 1 층. 당신이 가진 한 .NET 리플렉터 설치하면 XAML 파일을 포함한 모든 소스 코드를 앱과 상호 작용할 수 있습니다.

코드가 클라이언트에게 다운로드되므로 Pragma no-cache로 그것을 방지하려고합니다 URL을 누를 수 있으므로 작동하지 않습니다.) 서버에 중요한 논리를 유지하여 코드를 보호해야합니다.

당신이 두려워한다면 어떤 사람이 당신의 지적 재산을 훔칠 것이고 그 법이 충분하지 않다면, 당신은 당신의 코드를 난독해야합니다. 그러나 나는 그 말에 따라 그 보호를 부르지 않고 캐주얼 리버스 엔지니어를 막습니다.

Pragma -no 캐시를 넣으면 .xap이 기계에 저장되는 것을 방지하고 대신 Silverlight 플러그인으로 스트리밍됩니다. Pragma가 없으면 .xap 파일은 임시 인터넷 파일에 저장됩니다.

https의 페이지에 응용 프로그램을 배치하면 .xap의 전달이 더욱 보호됩니다.

가능하면 웹 페이지 / .xap 파일을 보려면 인증이 필요합니다 (Joel에게 감사합니다)

에라,

예, SL 응용 프로그램에는 난독 화가 가능합니다.

예, Silverlight XAP 파일은 어셈블리가있는 지퍼 파일에 지나지 않으므로 난독 화를 통해 보호가 필요합니다. 주다 암호화 오염기 시도 - XAP 파일을 직접 난독 화하고, 클래스 참조를 바꾸고, 주석을 벗기는, whitespace, newlines 등을 통해 어셈블리에서 XAML 파일을 난독화할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top