2016-11-03 5 views
1

.net 어셈블리 디 컴파일에 문제가 있습니다. 내가 dotPeek에서 어셈블리를 열 때 다음과 같이 선언 수백 변수 frmMain 수라는 클래스가있다 :dotPeek로 .net 어셈블리를 디 컴파일하면 유효하지 않은 구문이 나타납니다.

[SpecialName] 
private static int \u0024STATIC\u0024SortByLengthAsc\u002402811241124\u0024xlen; 

내가 변경하는 경우에도 그 라인이 오류를 제공 (STATIC가 정의되어 있지 않은) 모든 프로젝트에 내보내려고 모든 \ u0024 ~ $. 내가 뭔가 잘못하고 있는거야?

답변

1

아니요, 사용자가 코드를 들여다보고 '훔칠'수 없도록 어셈블리가 난독 화되었습니다. 이러한 변수 이름은 IL에서는 허용되지만 실제 C# 코드에서는 허용되지 않으므로 실패합니다.

필자가 알고있는 유일한 해결책은 난독 화자가 난독 화를 어떻게하는지 모르고이를 뒤집어 쓰려고하는 역 모호한 도구입니다. 또는 손으로 처리 할 수 ​​있습니다. 일반적으로 많은 시간이 소요되므로 난독증이 발생합니다.

+0

난독 화 패키지 작성자는 디버그 목적으로 난독 화 코드를 deobfuscate하는 또 다른 제품을 가지고 있습니다. –

+0

일반적으로 사실입니다. @PanagiotisKanavos –

+0

나는 내 친구 (그 프로그램 작성자)에게 소스 코드를 제공하도록 요청할 것입니다. 대답 해줘서 고마워요 – BeefEX