1
我有一個用於實現套接字通信的dll,但它並沒有向我公開套接字描述符(主機應用程序)。需要獲取套接字描述符
我的問題是:
有什麼辦法,我可以得到它通過這個dll創建的socket描述符?因爲我需要在我的應用程序中通過WSAIoctl()和SetSockOpt()來設置套接字。
感謝,
Visli
我有一個用於實現套接字通信的dll,但它並沒有向我公開套接字描述符(主機應用程序)。需要獲取套接字描述符
我的問題是:
有什麼辦法,我可以得到它通過這個dll創建的socket描述符?因爲我需要在我的應用程序中通過WSAIoctl()和SetSockOpt()來設置套接字。
感謝,
Visli
如果庫不暴露其內部給你,那麼沒有,一般是沒有辦法得到他們。
您可以嘗試hooking an API function你知道圖書館必須調用,然後截取它的參數或返回值,你知道插座值必須,但是這是一個很大的黑客,可能相當脆弱。
相反,你可以更加努力地看到圖書館的揭露。也許它暴露了一個你不認識的名字下的套接字值,或者它提供了自己的方式來操縱套接字的屬性,所以你不需要使用你打算使用的API。儘管如此,使用API可能會干擾圖書館的工作方式。
如果所有這些都失敗了,您可以將當前的套接字庫替換爲不同的套接字庫。有不少圖書館可供選擇。除了Delphi的內置插座組件外,您還有Indy,ICS和Synapse;都是原生的Delphi庫,所以你可以訪問任何你想要的東西。