IT story

네이티브 DLL 내보내기 기능 뷰어가 있습니까?

hot-time 2020. 9. 13. 11:49
반응형

네이티브 DLL 내보내기 기능 뷰어가 있습니까? [닫은]


함수 이름과 해당 매개 변수 목록을 표시하는 무료 기본 Windows DLL 내보내기 함수 뷰어가 있습니까?


Dependency Walker사용 하여 함수 이름을 볼 수 있습니다 . 장식 된 경우에만 함수의 매개 변수를 볼 수 있습니다. FAQ에서 다음을 읽으십시오.

함수의 매개 변수와 반환 유형을 보려면 어떻게해야합니까?대부분의 기능에서이 정보는 모듈에 표시되지 않습니다. Windows의 모듈 파일 형식은 각 기능을 식별하는 단일 텍스트 문자열 만 제공합니다. 매개 변수 수, 매개 변수 유형 또는 반환 유형을 나열하는 구조화 된 방법은 없습니다. 그러나 일부 언어는 정보를 텍스트 문자열로 인코딩하는 프로세스 인 "장식"또는 "망 글링"이라는 기능을 수행합니다. 예를 들어 간단한 데코레이션으로 인코딩 된 int Foo (int, int)와 같은 함수는 _Foo @ 8로 내보낼 수 있습니다. 8은 매개 변수가 사용하는 바이트 수를 나타냅니다. C ++ 데코레이션을 사용하는 경우 함수는? Foo @@ YGHHH @ Z로 내보내지고 함수의 원래 프로토 타입 인 int Foo (int, int)로 직접 디코딩 할 수 있습니다.


dumpbin Visual Studio 명령 프롬프트에서 :

dumpbin /exports csp.dll

출력 예 :

Microsoft (R) COFF/PE Dumper Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file csp.dll

File Type: DLL

  Section contains the following exports for CSP.dll

    00000000 characteristics
    3B1D0B77 time date stamp Tue Jun 05 12:40:23 2001
        0.00 version
           1 ordinal base
          25 number of functions
          25 number of names

    ordinal hint RVA      name

          1    0 00001470 CPAcquireContext
          2    1 000014B0 CPCreateHash
          3    2 00001520 CPDecrypt
          4    3 000014B0 CPDeriveKey
          5    4 00001590 CPDestroyHash
          6    5 00001590 CPDestroyKey
          7    6 00001560 CPEncrypt
          8    7 00001520 CPExportKey
          9    8 00001490 CPGenKey
         10    9 000015B0 CPGenRandom
         11    A 000014D0 CPGetHashParam
         12    B 000014D0 CPGetKeyParam
         13    C 00001500 CPGetProvParam
         14    D 000015C0 CPGetUserKey
         15    E 00001580 CPHashData
         16    F 000014F0 CPHashSessionKey
         17   10 00001540 CPImportKey
         18   11 00001590 CPReleaseContext
         19   12 00001580 CPSetHashParam
         20   13 00001580 CPSetKeyParam
         21   14 000014F0 CPSetProvParam
         22   15 00001520 CPSignHash
         23   16 000015A0 CPVerifySignature
         24   17 00001060 DllRegisterServer
         25   18 00001000 DllUnregisterServer

  Summary

        1000 .data
        1000 .rdata
        1000 .reloc
        1000 .rsrc
        1000 .text


NirSoft의 DLL Export Viewer내 보낸 함수를 DLL로 표시하는 데 사용할 수 있습니다.

이 유틸리티는 지정된 DLL 파일에 대해 내 보낸 모든 함수 및 해당 가상 메모리 주소 목록을 표시합니다. 원하는 함수의 메모리 주소를 쉽게 복사하여 디버거에 붙여넣고이 메모리 주소에 대한 중단 점을 설정할 수 있습니다. 이 함수가 호출되면 디버거가이 함수의 시작 부분에서 중지됩니다.

enter image description here


소스 코드와 API 문서가없는 경우 기계어 코드 만 있으면 IDA Pro 와 같은 것을 사용하여 dll 라이브러리를 분해해야합니다 . 또 다른 옵션은 PE Explorer 평가판을 사용하는 것 입니다.

PE Explorer provides a Disassembler. There is only one way to figure out the parameters: run the disassembler and read the disassembly output. Unfortunately, this task of reverse engineering the interface cannot be automated.

PE Explorer comes bundled with descriptions for 39 various libraries, including the core Windows® operating system libraries (eg. KERNEL32, GDI32, USER32, SHELL32, WSOCK32), key graphics libraries (DDRAW, OPENGL32) and more.

alt text
(source: heaventools.com)


Not sure about its parameters list, but following TotalCommander plugin is very useful.

참고URL : https://stackoverflow.com/questions/1548637/is-there-any-native-dll-export-functions-viewer

반응형