DLL 함수를 보는 방법?


답변:


73

네이티브 코드의 경우 Dependency Walker 를 사용하는 것이 가장 좋습니다 . Visual Studio와 함께 제공되는 dumpbin 명령 줄 유틸리티 를 사용할 수도 있습니다 .


1
최신 버전의 VS에서는 DumpBin을 외부 도구 로 사용해보십시오 .
Laurie Stearn

Dependency Walker에 대한 Wikipedia 기사가 있습니다. 프로그램이 오래되어 Windows의 일부 새로운 기능과 작동하지 않는 것 같습니다. github.com/lucasg/Dependencies
user1324109

50

무료 DLL Export Viewer 를 사용하면 사용하기가 매우 쉽습니다.


8
@sumit 좀 더 구체적으로 할 수 있습니까? 이 도구는 몇 년 동안 저에게 효과적입니다.
Ken D

6
실제로이 도구는 내가 필요로하는 것, 훌륭하고 단순하며 간단하게 작동합니다.
informatik01

5
메소드 / 함수 목록을 생성하는 데 유용한 도구이지만 메소드의 매개 변수 (또는 유형)는 표시하지 않습니다.
bvdb

1
작고 컴팩트하며 공식 MS 제품과 같은 부풀어 오른 제품이 아닌 것이 좋습니다.
ワ イ き ん ぐ

38

Visual Studio에서 개체 브라우저 를 사용해 볼 수 있습니다 .

사용자 컴포넌트 세트 편집을 선택 하십시오 . 거기에서 다양한 .NET, COM 또는 프로젝트 라이브러리 중에서 선택하거나 찾아보기를 통해 외부 dll을 가져올 수 있습니다.


16
- Visual Studio에서 찾아보기를 사용 :( DLL을 선택할 때 "선택한 구성 요소는 찾아 볼 수 없습니다"라고 msdn.microsoft.com/query/...
XDG

5
개체 브라우저가로 이동했습니다 View. 그렇습니다. 작동하지 않습니다 (왜 Microsoft
일까요

1
MS 문제보다 더 많은 공급 업체. Probablay는 dll에 typelib가 없습니다. 참조 : stackoverflow.com/a/13903040/1614903
Holger Böhnke

@ HolgerBöhnke userdll32에 typelib도 없음
Kimmax

2
@Kimmax Yep이지만 user32.dll은 COM 서버가 아닌 기본 Windows DLL입니다. COM 서버 (예 : COM dll, ActiveX 컨트롤, * .ocx ...) 만 컴파일 된 경우 typelib가있을 수 있습니다. 네이티브 (= COM 이외의 객체) DLL의 경우 여기에 언급 된 다른 도구 중 일부 (dumpbin et al.)가 작동 할 수 있습니다. 즉, DLL이 내 보내면 서 수만이 아니라 이름으로 함수입니다.
Holger Böhnke

27

dumpbincommand-line을 사용하십시오 .

  • dumpbin /IMPORTS <path-to-file> 해당 DLL로 가져온 함수를 제공해야합니다.
  • dumpbin /EXPORTS <path-to-file> 내보내는 기능을 제공해야합니다.

9

JetBrains의 dotPeek를 사용하십시오.

https://www.jetbrains.com/decompiler/

dotPeek는 ReSharper를 기반으로하는 무료 도구입니다. 모든 .NET 어셈블리를 C # 또는 IL 코드로 안정적으로 디 컴파일 할 수 있습니다.


그렇다면 이것은 .NET 프레임 워크를 사용하는 DLL에만 해당됩니까?
Joel Bodenmann

8

.NET DLL의 경우 ildasm 을 사용할 수 있습니다


ildasm은 Microsoft 제품이므로 Visual Studio를 설치 한 경우 기본적으로 PC에 설치됩니다. 최상의 옵션이라고 생각합니다 .UI도 있으므로 명령 줄을 사용할 필요가 없습니다. 감사합니다
Mehrdad Babaki

찾을 수 있습니다 : C : \ Program Files (x86) \ Microsoft SDKs \ Windows \ <VERSION> \ bin
f4d0

6

이 dll / 어셈블리의 언어를 알려주지 않고 추측 할 수 있습니다.

.NET 리플렉터는 어떻 습니까?


2
그러면이 사람이되어야합니다.
Adriaan Stander

1
.net 리플렉터는 무료 였지만 지금은 상용 제품입니다. .net dll의 "JustDecompile"은 무료 대안입니다.
bvdb

디 컴파일러는 어떤 함수가 있는지 알려줍니다. 우리는 그들의 구현뿐만 아니라 somwhow를 볼 수 있습니까?
vipin8169

2

DLL이 .NET 언어 중 하나로 작성된 경우 어떤 기능 만 보려는 경우 프로젝트에이 DLL에 대한 참조가 있습니다.

그런 다음 참조 폴더에서 DLL을 두 번 클릭하면 OBJECT EXPLORER 창에 어떤 기능이 있는지 볼 수 있습니다

해당 DLL 파일의 소스 코드를 보려면 .NET 리플렉터와 같은 디 컴파일러 응용 프로그램을 사용할 수 있습니다. 이것이 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.