我有一個程序,它加載庫test.dll,這個庫使用ws2_32.dll來創建套接字和發送/接收數據包。我可以注入我的C++庫到這個過程,但不知道如何將函數「socket」,「accept」等函數的test.dll調用例如。有人可以幫我解決這個問題嗎? 謝謝!攔截套接字函數(windows)
2
A
回答
2
您需要鉤住accept函數。 您可以使用庫例如MS Detours(早期版本是免費的,你可以使用版本1.5,只是谷歌它)。 呼叫
DWORD a=DetourFindFunction("Ws2_32.dll","accept")
它會給你的指針接受功能。 然後你可以繞道它通過呼籲
DetourFunction(a,&Yourfunction)
。
DetourFunction將新指針返回爲「接受」,因此請確保在「YourFunction」的末尾調用它以確保程序不會崩潰。
或者,您可以使用Inlineassembler自己重定向函數。當然這要複雜得多。
+1
您不需要彙編器來重定向DLL函數,您可以直接修改PE Imports表。 –
相關問題
- 1. 掛接windows API函數來攔截dll加載(僅限Windows)
- 2. 攔截全局函數
- 3. 攔截JUnit聲明函數
- 4. RenderScript攔截函數調用
- 5. 攔截javascript中的函數
- 6. 使用java的「攔截」閃存套接字
- 7. 如何攔截套接字級別的Tomcat請求?
- 8. 用於攔截/修改網絡套接字的Chrome擴展API
- 9. Windows Mobile攔截通知
- 10. 攔截器不攔截
- 11. java攔截器不攔截
- 12. 攔截調用DOM API函數
- 13. 覆蓋/攔截所有jQuery函數
- 14. 如何攔截構造函數
- 15. 用bytebuddy攔截錯誤構造函數
- 16. Spring.NET&構造函數攔截器
- 17. 用谷歌guice攔截構造函數
- 18. 使用Selenium攔截Javascript函數調用
- 19. 攔截構造函數中調用JavaScript
- 20. 識別和攔截函數調用
- 21. UITextView攔截郵件鏈接
- 22. 攔截Android GMail SSL連接
- 23. Java mysql攔截連接
- 24. Microsoft Unity接口攔截和構造函數的區別注入
- 25. 我可以攔截直接調用的函數嗎?
- 26. 攔截由應用程序進行的套接字調用並將其映射到自定義套接字
- 27. LD_PRELOAD套接字函數java
- 28. Windows Azure套接字
- 29. 打開套接字,發送數據,關閉套接字=截斷數據
- 30. android上的攔截攔截器
請說明你自己到底做了些什麼以及你收到了哪些錯誤。 – vyegorov