2008-10-28 8 views
5

브라우저에서 Silverlight 코드가 작동하는 방식을 잘 모르겠습니다. 어셈블리가 클라이언트 컴퓨터에 다운로드 되었습니까? Reflector 또는 유사한 도구를 사용하여 코드가 디 컴파일되는 가능성이 있습니까? 그렇다면 코드를 보호하기 위해 어떤 옵션이 필요합니까? .net obfuscators는 Silverlight에서 작동합니까?은빛 코드가 보호가 필요합니까?

답변

5

Silverlight 응용 프로그램을 보려면 클라이언트는 dll과 하나의 구성 xml 및 선택적 리소스가 포함 된 .xap 파일을 다운로드합니다. dll에는 클라이언트 컴퓨터에서 Silverlight 런타임으로 실행되는 컴파일 된 C# 코드가 들어 있습니다. Silverlight 런타임은 기본적으로 완전한 .net 런타임의 하위 집합입니다. 따라서 요점은 사용자가 dll에서 코드를 얻은 다음 원래의 소스 코드를 얻기 위해 도구를 사용할 수 있다는 것입니다. 그래서 당신이 할 수있는 대부분은 난독 화입니다. 여전히 매우 중요한 코드는 옵션이 될 수 없습니다. 필요에 따라 다른 방법 (WCF 또는 다른 웹 서비스가 코드의 일부를 숨길 수 있음)을 사용할 수 있습니다.

6

웹 브라우저를 사용할 때마다 모든 클라이언트 측 코드가 시스템에 다운로드되고 사용자가 검사 할 수 있습니다. 이것은 Javascript, Flash 및 Silverlight에 적용됩니다.

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

1

pragma -No Cache를 설정하면 .xap이 시스템에 저장되는 것을 막을 수 있습니다. 대신 Silverlight 플러그인에서 스트리밍됩니다. pragma가 없으면 .xap 파일은 임시 인터넷 파일에 저장됩니다. 더 .XAP의 transmition를 보호 할 수 HTTPS에 페이지에서 응용 프로그램을 퍼팅

가능하면 웹 페이지/.XAP 파일 (감사 조엘)

+1

해커는 웹 페이지의 .xap 파일을 수동으로 다운로드 할 수 있습니다. 자원이 어디에 위치해 있는지 명시 적으로 밝히십시오. –

2

원하는 작업을 보려면 인증이 필요 실버 라이트 앱에서 코드를 보는 것이 얼마나 쉬운 지 알 수 있습니다. 실버 라이트 스파이 link textFirstFloor으로 실행하면됩니다. .NET Reflector을 설치하면 xaml 파일을 포함한 모든 소스 코드를 볼 수 있습니다 (응용 프로그램과 상호 작용할 때).

코드가 클라이언트에 다운로드되므로 (심지어 URL에 충돌 할 수 있으므로 trying to prevent it with pragma no-cache도 작동하지 않음) 서버에 중요한 로직을 유지함으로써 코드를 보호해야합니다.

2

귀하의 지적 재산권을 훔치고 법이 충분하지 않을 경우 두려워하면 코드 작성이 어려워 질 것입니다. 하지만 나는 평범한 리버스 엔지니어를 억지로 부르지는 않을 것이다.

1

엠라,

예 난처 SL 응용 프로그램에 대한 수 있습니다.

0

예, Silverlight xap 파일은 어셈블리가 포함 된 zip 파일이므로 난독 화를 통해 보호해야합니다. Crypto Obfuscator 시도해보십시오 - xap 파일을 직접 난독 화합니다. 클래스 참조의 이름을 바꾸고 주석, 공백, 개행 등을 제거하여 어셈블리의 XAML 파일을 난독 화시킬 수도 있습니다

관련 문제