2016-12-15 5 views
1

나는 숨겨진 문자열이 필요한 ASP.Net Core 1.0.1 프로젝트가 있습니다. 문자열은 개인 정적 필드입니다. Obfuscar 2.2.3은 기본적으로 문자열을 숨기기위한 것이지만 그렇지 않습니다. 또한 명시 적 값을 사용하여이 구성을 시도했습니다..net 핵심 프로젝트에서 문자열 숨기기

<Var name="HideStrings" value="true" /> 
<ForceStringHiding type="MyNamespase" /> 

그러나 문자열은 여전히 ​​dotPeek을 통해 볼 수 있습니다.

아마도 내가 잘못 이해 한 것일까 요? 어떻게 문자열을 숨길 수 있습니까?

+0

문자열 숨기기가 2.2.3 릴리스에서 완전히 비활성화되었습니다. https://github.com/lextm/obfuscar/commit/f364a38d511e9b77fd875dee5acb54e57cbe1c45 아래 답변에서 알 수 있듯이 프로세스가 되돌릴 수 있으므로 비밀 정보를 숨기지 마십시오. 기밀 데이터를 저장하려면 다른 Windows/OS 메커니즘에 의존해야합니다. –

답변

3

앱이 "앱/라이브러리 내부"에 "신뢰할 수있는 숨김"을 표시 할 수없는 반면 앱에서 원본을 '해독 할'수 있어야합니다.

당신이 발명 한 "비밀 알고리즘"은 쓸모가 없습니다. 왜냐하면 "해독하는"데 필요한 모든 것이 앱 안에 포함되어 있기 때문입니다 (그렇지 않으면 앱 자체가 "해독 할 수 없습니다"). app exe/dll은이 단계를 "반복"하고 숨겨진 값을 "해독"할 수 있습니다.

앱을 실행중인 서버/컴퓨터를 "신뢰"하고 일부 중간 소스에서 앱을 "복사"할 수있는 사람 (예 : github repo에서 zip 배포판 다운로드) 그렇다면 UserSecrets 라이브러리 또는 유사 항목을 사용해야합니다.

앱이 실행되는 서버를 "신뢰"하지 않으면 서버/제공자를 변경해야합니다.

관련 문제