2010-06-23 4 views
1

바이너리를 기준으로 소스 코드를 작성하지 않고 코드를 사용해야합니다 (CodeDom을 사용해야합니다.하지만 코드 덤 (CodeDom)이 없어도 가능하면 좋을 것입니다.)를 사용하여 메소드의 본문에 if 구문이 있는지 여부를 리플렉션을 사용하여 알 수 있습니까?바이너리를 보지 못하도록 코드 조각 검출

+1

어떤 플랫폼/언어 컨텍스트에서 .NET을 추측 할 수 있지만 다른 수 있습니다. – Oded

+0

"if"는 본질적으로 분기입니다. 이것은 프로그래밍에 크게 의존합니다 언어 및 아키텍처. 제 질문은 최종 목표는 무엇입니까? – BobbyShaftoe

+0

네, .NET이고 언어는 C#입니다. –

답변

0

.Net 인 경우 reflector을 가져옵니다.

갱신
의견을 본 후, 나는 귀하의 질문에없는 많은 정보가 있다고 생각. 특히 바이너리는 어떤 언어로 쓰여졌습니까? 주어진 .Net 바이너리를 디 컴파일하는 방법을 묻는 중이거나 .Net 프레임 워크를 기반으로하지 않는 다른 언어로 작성된 바이너리를 디 컴파일하기 위해 .net을 사용하는 방법을 묻고 있습니까?

리플렉션을 사용하면 어떤 코드가 존재하는지 파악할 수 없습니다.

전직 인 경우 나는 의아해합니다. reflector의 목적은 .net 바이너리를 디 컴파일하는 것입니다 ... 어느 시점에서 if 문이 실제로 해당 메서드에 있는지 여부를 시각적으로 검사 할 수 있습니다. (크리스에 의해 권고로)

+0

저는 수년 동안 반사경을 사용해 왔습니다. 그게 내가 여기있는 데 어떻게 도움이 될까요? –

0
  1. 디 컴파일 코드 파서를 통해
  2. 실행 디 컴파일 코드 (C# 2.0의 예 CS 파서를 참조하십시오 : http://csparser.codeplex.com/
  3. 사용 파서 출력 정보를 얻기 위해 필요한, 등의 존재로 토큰 Y 메서드 Z의 본문 내에서