.NET 2.0 바이너리 파일 (* .exe)을 읽을 수있는 코드로 디 컴파일 할 수 있습니까? 그렇지 않다면, 단지 메소드 명, 디버깅 정보 등 일부 정보 만 추출하면됩니까?.NET 2.0 바이너리 디 컴파일
답변
exe를 ILDASM 또는 Dot Net Reflector로 떨어 뜨리는 것은 그 트릭을 수행해야합니다.
루츠 Roeder 검색하고 확인할 수있는 것들 :
예. 먼저 모든 .net 라이브러리에는 유형 정보가 포함 된 매니페스트가 있습니다. 리플렉션을 사용하거나 리플렉터와 같은 도구를 사용하여 문제를 조사 할 수 있습니다. 살펴볼 클래스에 대한 system.reflection 네임 스페이스를 살펴 보자.
나는이 question earlier today에서 자신을 견적합니다 다음 컴파일 된 코드로 저장 그것에 대해 더 메타 데이터가 없기 때문에
당신은 다시 정확한 같은 소스를 얻을 수 없다.
그러나 어셈블리 코드 에서 코드를 다시 만들 수 있습니다.
이 항목에 관심이 있다면이 책을 확인하십시오. 되감기 : 역 엔지니어링의 비밀. 당신은 "컴파일러"기술적으로 다른 단어 와 컴파일러를 정의하는 하지가 있다면
편집
여기어떤 컴파일러-101, 는 무엇을 할 것인가?
답변 : 번역기
는 컴파일러는 구문/ 문구 당신이 C 컴파일러는 조립 또는 기계 코드로 변환 다른 언어로 작성한 변환합니다. C# 코드 은 IL 등으로 번역됩니다.
당신이 실행 파일 원본 텍스트/ 구문의 단지 번역이며 "그것을 반대"하고 싶은 경우 그러므로 당신이 가지고 당신은 대부분 동일한 구조 을받지 않습니다 "를 다시 번역" 처음에는. 영어에서 독일어 과 독일에서 영어로 돌아 가기 번역 경우
보다 실생활의 예는 것, Sentance와 구조가 가장 가능성이 다른 것, 즉이 사용될 수 있지만, 의미는 상황에 따라 이 변경되지 않았을 가능성이 큽니다.당신은 ASM에 C에서 가면
같은이 컴파일러/ 번역기에 간다, 논리는 그것을 읽는 단지 다른 방법, 동일 (및 물론 최적화 된).
C#과 관련하여 이미 반사경과 같은 훌륭한 도구가 많이 제공되었습니다. 그러나 코드가 난독 화되면 읽는 데 문제가 발생할 것입니다.
- 1. 디 컴파일 아이폰 OS 오브젝티브 C 바이너리
- 2. dotnet dll 디 컴파일 및 코드 변경
- 3. 이전 프로그램 디 컴파일
- 4. 엑세스 추출 (디 컴파일)
- 5. DLL 디 컴파일
- 6. JVM 언어 디 컴파일
- 7. Java 디 컴파일 방법
- 8. ms 액세스에서 디 컴파일/재 컴파일 자동화
- 9. 컴파일 된 .NET 2.0 응용 프로그램 디버그
- 10. swf 파일 디 컴파일 프로그램
- 11. .exe MATLAB 파일 디 컴파일
- 12. Windows에서 Linux 바이너리를 디 컴파일 할 수 있습니까?
- 13. ARM asm을 C로 다시 디 컴파일
- 14. 디 컴파일 된 자바에서 this = this
- 15. 이상한 디 컴파일 코드는 제네릭 클래스
- 16. IROM 코드를 고수준 코드로 디 컴파일
- 17. 디 컴파일 후 일부 구문 문제
- 18. 자바 디 컴파일 출력의 레이블 위치
- 19. 솔라리스에서 타사 공유 라이브러리 디 컴파일
- 20. 디 컴파일 후 Java 파일에 바이트 코드
- 21. microsoft agent 디 컴파일/압축 해제 하시겠습니까?
- 22. 안드로이드 키 저장, 두려움 디 컴파일
- 23. Java JIT 컴파일 원시 바이트 코드 디 컴파일
- 24. Cygwin GCC 크로스 컴파일 바이너리?
- 25. 3.5에서 .NET 2.0 UserControl 라이브러리를 다시 컴파일 하시겠습니까?
- 26. .NET 4.0 런타임은 .NET 2.0 런타임보다 느립니다.
- 27. D 2.0 (Phobos)의 바이너리 검색?
- 28. .net 2.0 ajax tree
- 29. JSON with .Net 2.0
- 30. .net 2.0 PrintDocument 문제
이렇게하면 라이센스 계약을 위반할 가능성이 있습니다. ... –