DLL 파일엔 무슨 함수가 들어있을까? (dumpbin)
DLL파일에 무슨 함수가 노출되어 있을까??
함수의 모든 정보를 알수는 없지만 이름정도는 dumpbin이라는 프로그램을 통해 확인 할수가 있다..
dumpbin은 Visual Studio에서 제공하는 프로그램으로
버전별로 아래의 위치에 존재한다.
6.0 : C:\Program Files\Microsoft Visual Studio\VC98\Bin
7.0 : C:\Program Files\Microsoft Visual Studio.NET 2003\Vc7\bin
8.0 : C:\Program Files\Microsoft Visual studio 8\VC\bin
사용법은 명령프롬프트(cmd.exe) 또는 Visual Studio Tool이하에 있는 Command Prompt 창에서
dumpbin -exports 파일명
위와 같이 사용하면 DLL에서 노출된 함수들을 확인할 수 있다.
예로 곰플레이어의 GVC.dll 안의 함수들을 살펴봤다..
dumpbin 사용예
위와 같은 파일은 보통 DLL파일이다.
dumpbin 사용예
그리고 위처럼 4개의 함수가 노출된 DLL들은 모두라고 말할 수는 없지만..
대부분은 COM(컴포넌트)라고 봐도 무방하다..
그리고 또 간혹 함수명이 이상한 알수없는 글자로 되있는 경우가 있는데..
add_1@@YAHHH@Z <-- 이런식으로
이런경우는 클래스를 노출시긴 확장DLL이다..
물론 아주 간혹 CPP환경에서 잘못 컴파일한 DLL인 경우도 있다..
아무튼 아주 유용한 프로그램이다.. 물론 자주쓰지는 않지만..