2009-04-28 1 views

답변

3

출력하는 문자열에 메서드 이름을 직접 추가하기 만하면됩니다. 리플렉션을 통해 현재 메소드의 이름을 얻으면 난독 화 된 이름이됩니다. 이 방법이 아니었다면, 누구든지 원래의 방법을 알아내어 난독 화를 무력화 할 수 있습니다 (또는 그것을 극적으로 방해 할 수 있습니다).

+0

ㅎ,하지만 로깅은 실제 이름을 제공합니다. 코드를 난독 화하고 싶다면 코드와 함께 살아야 할 것입니다. – Svante

+0

의존 - 정말로 걱정되는 경우 로그를 암호화 할 수 있습니다. ;) –

+0

당신은 실제로 소스 코드에서 로깅 문자열을 암호화해야합니다. log ("D $ A $ & ada"5Yd % a§A3 $ # sda59 ") – Svante

2

다른 방법으로는 난독 화 도구가 자신의 난독 화 로그를 출력 할 수 있으므로 응용 프로그램의 난독 화 된 로그를 사람이 읽을 수있는 것으로 번역 할 수있는 도구를 작성할 수 있습니다.

물론, 일단 거기에 도착하면 응용 프로그램의 개발 버전에는 자신의 난독 화 로그에 액세스하고 로그를 출력하기 전에 반영된 결과를 변환하는 기능이 포함될 수 있습니다.

파일 시스템에서 난독 화 로그를 jar 파일의 응용 프로그램 자원으로 사용하거나 원격 서버에서 다운로드 할 수 있습니다.

응용 프로그램 메모리에서 해독 된 난독 화 로그 만 유지하는 경우 VM 샌드 박스는 상당히 안전하게 유지해야합니다.

0

난독 화하려는 이유를 재고하십시오. obfuscator가 난독 화하는 것들은 종종 디버깅에 유용한 것들입니다.

관련 문제