고객이 고객을 수정하지 못하도록 ASP.NET 응용 프로그램을 포장하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1216897

  •  06-07-2019
  •  | 
  •  

문제

배포되면 수정을 방지하기 위해 ASP.NET 응용 프로그램의 모든 파일을 이진 형태로 포장하는 도구 또는 일반적인 접근 방식이 있습니까? 고객이 수정할 수있는 설정을위한 일련의 서명 된 바이너리 세트와 구성 파일이있을 것이라고 생각합니다. 누구든지 이것을 시도한 적이 있습니까? 가능합니까?

나는 최소한의 번거 로움으로 이것을 한 매끄러운 상용 제품에 대해 합리적인 금액을 지불 할 것입니다.

업데이트

죄송합니다. 답에서 나는 명확하지 않다는 것을 알 수 있습니다. 코드 파일뿐만 아니라 문자 그대로 모든 파일을 포장하는 것을 의미했습니다. 이는 ASPX, 스크립트, 이미지 등을 의미합니다. 나는 역 엔지니어링을 방지하려고하지 않습니다 ... 이것은 지원 가능성 문제입니다. 즉, 고객이 파일을 혼란스럽게하는 문제를 다루는 것을 피하기위한 것입니다.

올바른 솔루션이 없습니다

다른 팁

웹 애플리케이션 프로젝트를 만든 경우 코드를 단일 DLL 파일로 컴파일 할 수 있습니다. 빈 폴더에서 찾을 수 있습니다.

ASPNET_COMPILER.EXE를 사용하여 모든 것을 전제로 한 다음 ASPNET_MERGE.EXE를 사용하여 컴파일 된 모든 어셈블리를 단일 어셈블리로 롤업하십시오. 역 엔지니어링을 더 어렵게 만들려면 DotFuscator와 같은 난독 화 도구를 사용할 수 있습니다. Visual Studio Pro 및 UP에는 이에 사용할 수있는 DotFuscator의 "Lite"에디션이 포함되어 있습니다.

CodeBehind 파일은 이미 언급 한 zippyv와 같이 단일 DLL로 컴파일됩니다. ASPX 파일은 Webserver에 정상적으로 배포됩니다.

그러나 여전히 DLL 파일을 쉽게 분해 할 수 있습니다. 따라서 Oppuscator를 사용해야합니다.

ASPX를 포함한 모든 파일을 의미한다면 NGEN도 고려할 수도 있습니다. ASPX 페이지에서도 얻을 수 없으므로 모든 것을 DLL로 전달합니다.

그러나 NGEN은 프레임 워크의 JIT 컴파일 기능을 제거하도록 설계되었으며 일반적으로 권장되는 접근 방식은 아니지만 귀하의 경우에 잘 작동 할 수 있습니다.

VS2008에서 메뉴 옵션 "도구"를 선택한 다음 "Dotfuscator Community Edition"을 선택하십시오. 시작 후 "더 많은 배우기"링크가 있습니다.

나는 또한 Sn.exe를 사용하여 광산에 서명하여 강한 이름을 갖습니다. 이 모든 것을 감안할 때, 소스 코드와 도움을 받으면 시스템을 파악하기에 충분히 복잡하다고 생각합니다 .... 그래서 더 이상 걱정하지 않습니다.

아마도 dotpuscator 고객은이를 수정하거나 리버스 엔지니어링 할 수 없습니다. :)

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