2010-08-19 4 views
1

C#으로 작성된 앱이 있습니다. 그것은 이미 컴파일되었습니다.dll 파일을 분해/컴파일하는 방법은 무엇입니까?

거기에 많은 dll 파일이 있고 그들을 열 수 없습니다, 디 컴파일 그들을 볼 수 없습니다 그들을 빌드하는 Visual Studio에서 dll 파일에 대한 참조를 추가 할 때 액세스 할 수있는 유일한 방법을 볼 수 있습니다, 하지만 난 볼 수 없거나/그 방법의 코드에 액세스 할 수 있습니다.

도구가 있습니까? 아니면 해당 코드를보고 액세스하는 방법이 있습니까? 코드를 수정 한 다음 다시 컴파일하는 방법이 있습니까?

나에게 손을 쥐어주세요. 완벽하지 않지만 당신에게 좋은 아이디어를 줄 것이다 -

감사

답변

6

이 작업을 수행하는 가장 쉬운 방법은 Reflector하는 것입니다.

IL, vb.net 또는 C#으로 어셈블리를 선택하여 표시 할 수 있습니다. Visual Studio에 결과를 복사/붙여 넣기하고 변경 내용을 적용하여 컴파일 할 수 있습니다.

foreach 루프와 같은 것들은 최적화 된 일리노이에서 작동하기 때문에 레이블과 gotos 및 변수 이름이 잘못된 C#/vb.net 변수 이름이 될 수 있습니다 (IL은 유효하지만).

필자는 과거에이 코드를 사용했으며 가장 큰 문제는 루프가 foreach 개 루프를 재구성하는 것이었지만 패턴이 몇 개가 나온 후에 분명 해졌고 검색/바꾸기로 변수 이름을 변경할 수있었습니다.

관련 문제