请问,别人给你一个dll,你怎样知道这个dll的程序是什么样子的?
还有,怎样调用这个dll呀?

解决方案 »

  1.   

    Visual Studio Tools 里面有个叫Depends的工具,可以查看Dll的函数名字,但如果写Dll的人用了N/A的话那就看不到名字了。调用Dll文件用
    装载Dll文件
    HINSTANCE LoadLibrary(
      LPCTSTR lpLibFileName   // address of filename of executable module
    );
    回去函数指针
    FARPROC GetProcAddress(
      HMODULE hModule,    // handle to DLL module
      LPCSTR lpProcName   // name of function
    );
      

  2.   

    首先通过depends查看dll的函数名,然后就可以用显示加载的方式在你的程序中加载dll,并调用它的函数了    HINSTANCE hInst=LoadLibrary("XXX.dll");//装入XXX.dll  
      if(hInst!=NULL) 
      { 
      //获得函数的地址并调用之   ShutDownDialog=(SHUTDOWNDLG)GetProcAddress(hInst,(LPSTR)60);//   (*ShutDownDialog)(0);   } 
      

  3.   

    Depends吧
    但是他只能查看有哪些函数,函数的参数个数及类型是不能知道的!
      

  4.   

    只有dll可不好办。如果有exe。可用BoundChecker。或Win32Spy
      

  5.   

    dumpbin -exports *.dll可以看里面得函数方法,但要在dll目录下执行