none
可否在不知道某个 DLL 文件的某个入口点的情况下遍历其所有的入口点? RRS feed

答案

  • dear

    user32.dll是win32 API,我不知道你要拿它來做什麼,如果只是單純用來查它擁有什麼函數,可以用Dll Viewer的軟體來查詢
    http://www.google.com.tw/search?hl=&q=DLL+Viewer&sourceid=navclient-ff&rlz=1B3GGLL_zh-TWTW421TW421&ie=UTF-8


    或是用Process類別來處理
    http://www.dotblogs.com.tw/chhuang/archive/2008/03/18/1808.aspx

    在.NET裡可以使用反射來取得方法及屬性,並設定它,你可以參考以下的例子
    http://www.dotblogs.com.tw/yc421206/archive/2010/10/20/18472.aspx

    有關反射google上也有很多的資料
    http://www.google.com.tw/search?hl=&q=C%23+%E5%8F%8D%E5%B0%84&sourceid=navclient-ff&rlz=1B3GGLL_zh-TWTW421TW421&ie=UTF-8


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/

    • 已标记为答案 EFanZh 2011年5月30日 10:10
    2011年5月28日 16:20
  • Microsoft PE and COFF Specification


    Eric Yang [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 EFanZh 2011年5月30日 10:04
    2011年5月30日 3:44
  • 除了上面微软员工给出的 Windows PE 文件规范外,如果您需要遍历某个 DLL (非托管) 的所有导出函数表的话,需要解开 PE Head 中的 ExportTable 数据。 请您仔细看看 Windows PE 规范后自行用十六进制方式 + Offset 得到他们。


    Mark Zhou
    • 已标记为答案 EFanZh 2011年5月30日 10:04
    2011年5月30日 8:16

全部回复

  • dear

    user32.dll是win32 API,我不知道你要拿它來做什麼,如果只是單純用來查它擁有什麼函數,可以用Dll Viewer的軟體來查詢
    http://www.google.com.tw/search?hl=&q=DLL+Viewer&sourceid=navclient-ff&rlz=1B3GGLL_zh-TWTW421TW421&ie=UTF-8


    或是用Process類別來處理
    http://www.dotblogs.com.tw/chhuang/archive/2008/03/18/1808.aspx

    在.NET裡可以使用反射來取得方法及屬性,並設定它,你可以參考以下的例子
    http://www.dotblogs.com.tw/yc421206/archive/2010/10/20/18472.aspx

    有關反射google上也有很多的資料
    http://www.google.com.tw/search?hl=&q=C%23+%E5%8F%8D%E5%B0%84&sourceid=navclient-ff&rlz=1B3GGLL_zh-TWTW421TW421&ie=UTF-8


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/

    • 已标记为答案 EFanZh 2011年5月30日 10:10
    2011年5月28日 16:20
  • 没错,就是单纯查找其函数。

    我想做个类似于 DLL Export Viewer 的工具,.Net 平台能实现这个功能吗?

    反射能处理非 .Net 平台下的 DLL 文件吗?


    EFanZh
    2011年5月29日 11:01

  • 没错,就是单纯查找其函数。

    我想做个类似于 DLL Export Viewer 的工具,.Net 平台能实现这个功能吗?

    反射能处理非 .Net 平台下的 DLL 文件吗?


    EFanZh
    不行!!!
    但以下的方式你可參考看看是否為你所需
    http://www.codeproject.com/KB/vb/VSAPIVIEWER.aspx


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年5月29日 13:07
  • 这个只是把已知的 API 函数预先存在了文本文件中,然后再读取。

    我的目的是分析出一个 DLL 中的公开方法。

    比如我用 C 语言做了一个 DLL 文件,然后能用程序分析出其中公开的方法。


    EFanZh
    2011年5月29日 14:51
  • 这个只是把已知的 API 函数预先存在了文本文件中,然后再读取。

    我的目的是分析出一个 DLL 中的公开方法。

    比如我用 C 语言做了一个 DLL 文件,然后能用程序分析出其中公开的方法。


    EFanZh
    不同語言的dll有不同的規則,就我知道的在.NET無法反射其它語言建立的DLL

    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年5月29日 15:52
  • Windows 系统对 DLL 文件格式应该有一个统一的规定吧?

    DLL Export Viewer 可能是如何实现的?

    另外,微软有没有 Win32 API 的文档说明?每次在头文件里面找太麻烦了。


    EFanZh
    2011年5月29日 18:33
  • Windows 系统对 DLL 文件格式应该有一个统一的规定吧?

    DLL Export Viewer 可能是如何实现的?

    另外,微软有没有 Win32 API 的文档说明?每次在头文件里面找太麻烦了。


    EFanZh

     

    1.用C++,

    2.不同的OS會有不同的DLL檔,必須上MSDN查,例如
    http://msdn.microsoft.com/en-us/library/ms644950%28VS.85%29.aspx

    3.你也可以利用pinvoke來達到查閱的目的
    http://pinvoke.net/index.aspx


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年5月30日 1:52
  • Microsoft PE and COFF Specification


    Eric Yang [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 EFanZh 2011年5月30日 10:04
    2011年5月30日 3:44
  • 除了上面微软员工给出的 Windows PE 文件规范外,如果您需要遍历某个 DLL (非托管) 的所有导出函数表的话,需要解开 PE Head 中的 ExportTable 数据。 请您仔细看看 Windows PE 规范后自行用十六进制方式 + Offset 得到他们。


    Mark Zhou
    • 已标记为答案 EFanZh 2011年5月30日 10:04
    2011年5月30日 8:16