2010-03-05 3 views
11

우리는 일부 코드를 고객에게 공개하기 전에 난독 화하려고합니다. 우리는 기술 지원에 미치는 영향에 대해 궁금해합니다. 고객이 의미있는 스택 추적을 제공 할 수 있습니까? 아니면 너무 흐리게 처리됩니까?Obfuscator & Tech Support

나는 당신의 경험에 대해 듣기를 기대합니다. 미리 감사드립니다.

답변

9

당신은 난독 화 스택 추적을 받게됩니다. obfuscator는 난독 화 된 이름을 실제 이름으로 매핑하는 매핑 파일을 생성 할 수 있습니다.이 매핑 파일을 안전한 장소에 보관해야하며 필요한 경우 스택 추적을 다시 "제거 취소"할 수 있습니다.

기술 지원의 경우 - 기술 지원 담당자가 스택 추적을 붙여 넣을 수있는 간단한 웹 인터페이스를 만들 수 있습니다. 그렇게하면 원래 스택 추적을 복원 할 수 있도록 웹 서버 만 매핑 파일에 액세스해야합니다. 여기

는 dotfuscator 난독과 과정을 설명하는 두 개의 링크입니다 : 대부분의 난독이 해제 난독 스택에 다시 추적 기능을 제공하기 때문에

http://www.preemptive.com/images/stories/dotfuscator_documentation/Dotfuscator/The_Map_File.html

http://www.preemptive.com/images/stories/dotfuscator_documentation/Dotfuscator/Decoding_Obfuscated_Stack_Traces.html

+2

앞서 언급했듯이 대부분의 도구 (예 : http://www.ssware.com/cryptoobfuscator/obfuscator-net)에서 스택을 추적 할 수 있습니다.htm) –

+0

가끔 오류 보고서를받을 웹 서비스를 만듭니다. 사용자는 "오류보고 제출"버튼을 제출할 수 있으며 스택 트레이스가 잘못된 텍스트 형식으로 인코딩 될 위험없이 스택 추적 및 프로그램 상태에 대한 기타 유용한 정보를 전송할 수 있습니다 (많은 난독 화자가 클래스/메소드에 유니 코드 문자를 사용하기 때문에). 이름). –

1

스택의 메소드가 릴리스에서 난독 화되면 모든 스택 추적에서 난독 화 메소드 이름을 가져옵니다.

어떤 방법을 사용했는지 파악하는 데 도움이되도록 코드에 무엇이든 넣으면 잠재 해커가 해당 정보를 사용하여 코드를 더 잘 이해할 수 있습니다.

일반적인 전략 중 하나는 라이센스 검사를 수행하는 부분을 포함하여 (그러나 이에 국한되지 않음) 일부 코드 만 난독 화하는 것입니다. 라이센스 검사를 난독 화하는 경우 해커의주의가 필요한 부분을 제로로 쉽게 지정할 수 있습니다.

+0

나는 회사가 내부에서 오류가 발생하는 실제 장소에서 얻을 수있는 소스 코드에 대한 난독 화 로그를 보류 할 수 있는지 궁금합니다. –

+0

Nissan Fan 님의 댓글을보세요. 귀하의 도구는 스택 추적을 deobfuscate 할 수 있어야합니다 ... 제대로 인코딩 된 파일로 얻는다면. 많은 obfuscator는 유니 코드 문자를 클래스 및 메서드 이름에 사용하여 화면에서 읽기가 특히 어렵게 만듭니다. 스크린 샷 또는 비 유니 코드 텍스트 파일 만 제공되면 다시 돌아올 수 없습니다. 가끔 오류 로깅을위한 웹 서비스를 만들어서 프로그램이 오류를 진단하는 데 필요한 모든 것을 제출하는지 확인하십시오. 그것은 적절한 (유니 코드) 인코딩 된 스택 추적을 얻는 안전한 방법입니다. –

1

이것은 보통 문제가되지 않습니다 자신의 원래의 추적.

1

BitHelmet을 사용합니다. 문제는 가장 강력한 난독 화 기술을 사용할 때 스택 추적을 해제 할 수 없다는 것입니다. BitHelmet은 Full Signature 이름 바꾸기 (일부 종류의 과부하 유도, 더 나은 경우에만 사용)를 사용합니다. 무슨 일이 일어날 지, 많은 메소드가 같은 이름으로 끝나지만 다른 리턴 타입으로 끝납니다 (이것은 C#에서는 할 수 없지만 CLR에서는 괜찮습니다). 반환 형식은 스택 추적에 표시되지 않습니다! 그래서 가장 강한 난독 화를 사용하여 스택 트레이스를 deobfuscate하는 것은 실제로 불가능합니다.

우리는 당신이했던 것과 같은 질문을했습니다. 우리는 그것에 대해 토론했고 실제로 더 나은 난독 화를 선호한다는 결론에 도달했습니다. 스택 추적은 기술 지원을 최종 사용자 만 제공 할 수있는 다른 데이터로 제공 할 때 실제로 그렇게 유용하지는 않습니다. "네가 네가 뭘하고 있었는지 정확히 말해줘?" :)