簡體   English   中英

可以使用AppInit_DLLs從Ws2_32.dll掛鈎API嗎?

[英]Can AppInit_DLLs be used to hook APIs from Ws2_32.dll?

我正在尋找將出站TCP / IP連接從Windows客戶端上的特定端口重定向到其他端口號的方法。 (這是提供從端口445重定向SMB連接的功能所必需的,該端口用於文件和打印機共享。)

除了掛接WinSock API並在那里更改端口外,我找不到其他方法。 我發現了AppInit_DLLs技術,並且想知道它是否可以用於掛鈎Ws2_32.dll(似乎包含WinSock API)?

我的想法是然后鈎住連接接受通常設置端口號的API。 這只是一個想法,所以在我真正開始編碼之前,我會很感激某人的努力...

為什么不? 是的,這是可能的,但是在執行鈎子操作之前,請不要忘記加載DLL。 由於AppInit是在user32.dll加載時加載的(並且肯定在加載ws2_32之前)。

看看繞道而行,或者嘗試制作自己的內聯掛鈎。 使用多線程應用程序時請小心,您必須使用多線程安全鈎子。

不幸的是,這是不可能的。 最好的選擇是制作一個代理DLL,用您自己想替換的自定義方法替換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM