2013-03-28 117 views
7

我正在處理一個DLL,我希望導出的函數只能通過序號而不是按名稱導出。從dll導出函數唯一序號

這可能嗎?如果是的話,我想知道如何做。

+4

您確定可以使用序號值:http://101.lv/learn/delphi/ch19.htm。但是這個名字並不是'隱藏'的,所以我擔心你不會只獲得*部分。但是,當然你可以命名你的函數'Function001'等。 – 2013-03-28 08:45:41

+0

我認爲序數導出在32位窗口中被棄用。 – 2013-03-28 21:55:36

回答

13

德爾福標記出口函數的唯一方法是使用exports指令。並且Delphi將爲您導出的每個函數始終爲PE導出表添加一個命名條目。但是很容易讓這個功能沒有名字。

library Project32; 

procedure Foo; 
begin 
end; 

exports 
    Foo index 1 name ''; 

begin 
end. 
+0

,它會做的trick.thanks – opc0de 2013-03-28 09:06:27

+1

據我所知,你不能做任何比這更好的內置工具。我想你可以後處理PE文件,以刪除導出的名稱表,只留下序號。 – 2013-03-28 09:07:33

+6

+1。不知道你可以使用空字符串作爲名字! – 2013-03-28 09:09:38