好吧,我正在慢慢學習C++。我熟悉所有的控制檯語法和所有內容,但現在我正在進行Windows編程。現在我試圖做的是創建一個注入到一個進程中的DLL,所以它被吸引了。我希望C++應用程序做的所有事情都有一個文本,如果它被成功注入,就會說「掛鉤」,還有一個發生錯誤時發生錯誤。或者,即使我可以在沒有DLL的情況下執行此操作,只需打開一個可執行文件,並且當我試圖掛鉤的某個進程打開後,狀態將更改爲「掛鉤」。此外,我有一個safaribooksonline.com帳戶,所以如果您有任何建議,請將其寫下。謝謝C++鉤子進程和顯示狀態
3
A
回答
3
我想你可能會看着這個倒退。在C/C++中,應用程序'拉'一個DLL,而不是將一個DLL'注入'到應用程序中。通常對於插件/鉤子,有一些機制可以通知應用程序DLL的可用性(通常只是它存在於特定的目錄中),而配置文件或其他邏輯用於指示應用程序顯式加載庫,提取功能或兩個,並打電話給他們。
對於Windows編程,我建議查找LoadLibrary()API調用的示例。你可能會發現a tutorial或兩個如何做到這一點。
1
如果通過「掛鉤」您的意思是「讓我的DLL在該進程的地址空間中運行」,則您需要CreateRemoteThread()
。這是相當先進的,難以調試,因爲你的錯誤使其他程序崩潰。順便說一下,這就是很多惡意軟件的工作原理。
如果您的意思是「讓我的DLL在其他進程中得到活動通知」,您需要SetWindowsHookEx()
。
0
聲音就像你希望一旦應用程序啓動時注入?你可以通過微軟的Detours DetourCreateProcessWithDll()
來做到這一點。示例here。
相關問題
- 1. mysql顯示進程列表查詢顯示狀態=空
- 2. 使用AJAX和ASP.NET MVC顯示進程狀態
- 3. 在子查詢中顯示錶狀態?
- 4. 顯示狀態欄第一個顯示進度
- 5. 只需檢查c狀態進程
- 6. 在C++中檢查子進程的狀態
- 7. PNR狀態進程
- 8. ASP.NET:向用戶顯示後臺進程狀態
- 9. 如何在Linux中顯示進程狀態(阻塞,非阻塞)
- 10. 如何通過javascript worker顯示循環進程狀態
- 11. 如何向客戶端(web)顯示巨大進程的狀態
- 12. 漸進增強和初始顯示狀態
- 13. 顯示每個線程的狀態
- 14. 顯示狀態:當它完成出口國和隱藏狀態
- 15. 通過狀態和顯示總的每個狀態的在Java
- 16. 始終顯示狀態欄和軟鍵
- 17. 同時顯示git diff和git狀態
- 18. 顯示列表和OpenGL狀態
- 19. 如何隱藏和顯示狀態欄
- 20. C#Winforms:以編程方式顯示Button的懸停狀態
- 21. Drupal鉤子菜單 - textfield不顯示
- 22. 如何在狀態爲up的狀態下顯示SimpleButton狀態
- 23. 在產卵和運行子進程時顯示進度
- 24. Java進程的退出鉤子
- 25. 顯示Twitter的狀態Ouath
- 26. 顯示的到達狀態
- 27. 在mysql中顯示狀態
- 28. 公開顯示Facebook狀態
- 29. Highcharts不顯示telangana狀態
- 30. HAProxy的狀態顯示DOWN