好吧,我正在慢慢学习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