코드를 난독 화하는 경우 현재 방법의 이름을 쿼리 할 수있는 방법이 있습니까? 접두사로 실행 메서드를 사용하여 메시지를 기록하려는 경우가 있기 때문에 묻습니다.난수 발생에도 불구하고 실제 런타임 메서드 이름은 무엇입니까?
2
A
답변
3
출력하는 문자열에 메서드 이름을 직접 추가하기 만하면됩니다. 리플렉션을 통해 현재 메소드의 이름을 얻으면 난독 화 된 이름이됩니다. 이 방법이 아니었다면, 누구든지 원래의 방법을 알아내어 난독 화를 무력화 할 수 있습니다 (또는 그것을 극적으로 방해 할 수 있습니다).
2
다른 방법으로는 난독 화 도구가 자신의 난독 화 로그를 출력 할 수 있으므로 응용 프로그램의 난독 화 된 로그를 사람이 읽을 수있는 것으로 번역 할 수있는 도구를 작성할 수 있습니다.
물론, 일단 거기에 도착하면 응용 프로그램의 개발 버전에는 자신의 난독 화 로그에 액세스하고 로그를 출력하기 전에 반영된 결과를 변환하는 기능이 포함될 수 있습니다.
파일 시스템에서 난독 화 로그를 jar 파일의 응용 프로그램 자원으로 사용하거나 원격 서버에서 다운로드 할 수 있습니다.
응용 프로그램 메모리에서 해독 된 난독 화 로그 만 유지하는 경우 VM 샌드 박스는 상당히 안전하게 유지해야합니다.
0
난독 화하려는 이유를 재고하십시오. obfuscator가 난독 화하는 것들은 종종 디버깅에 유용한 것들입니다.
관련 문제
- 1. <% %> 태그의 실제 이름은 무엇입니까?
- 2. 비동기 런타임 메서드 호출
- 3. 난수
- 4. 실제 메서드 서명 리플렉션 사용
- 5. AS3 : 정적 클래스 메서드 호출 - 클래스 및 메서드 이름은 문자열입니다
- 6. 런타임
- 7. Java 프로그램의 실제 런타임 호출 트리 찾기
- 8. 난수 생성기가 아닌 실제 (의사가 아님). 밖에 뭐가있어?
- 9. C++ map.clear() 순수 가상 메서드 런타임 오류
- 10. file_field_tag : 원본 파일 이름은 무엇입니까?
- 11. PHP 정적 메서드 호출; 정적으로 정의되지 않았음에도 불구하고
- 12. 포인터의 실제 구조는 무엇입니까?
- 13. 이 문제의 이름은 무엇입니까?
- 14. 로거의 대체 이름은 무엇입니까?
- 15. 이 연산자의 이름은 무엇입니까? "+ ="?
- 16. 가치/빈익표의 이름은 무엇입니까?
- 17. Flex의 기본 이름은 무엇입니까?
- 18. 이 트리의 이름은 무엇입니까?
- 19. 이 개념의 이름은 무엇입니까?
- 20. QueuePause의 인터페이스 이름은 무엇입니까
- 21. 이 필드의 이름은 무엇입니까?
- 22. 이 방법론의 이름은 무엇입니까?
- 23. 대리인이있는 개체의 이름은 무엇입니까?
- 24. CentOS 글꼴의 이름은 무엇입니까?
- 25. 이 순서도의 이름은 무엇입니까?
- 26. 이 문자의 이름은 무엇입니까 |
- 27. 이 패턴의 이름은 무엇입니까?
- 28. 이 게임의 이름은 무엇입니까?
- 29. 이 기능의 이름은 무엇입니까?
- 30. 플래그 배열의 이름은 무엇입니까?
ㅎ,하지만 로깅은 실제 이름을 제공합니다. 코드를 난독 화하고 싶다면 코드와 함께 살아야 할 것입니다. – Svante
의존 - 정말로 걱정되는 경우 로그를 암호화 할 수 있습니다. ;) –
당신은 실제로 소스 코드에서 로깅 문자열을 암호화해야합니다. log ("D $ A $ & ada"5Yd % a§A3 $ # sda59 ") – Svante