我正在玩Microsoft Spy ++并注意到它不仅可以找到开放进程,还可以找到每个进程中运行的各个组件。例如,有一个应用程序允许您打开一个窗口,其中有一个IP地址的文本框和一个端口的文本框。 Spy ++可以检测这些组件。知道Spy ++可以检测到它们,有没有可能在单独的c#应用程序中找到它们并继续修改它们的内容并以其他方式与程序交互? (例如在按钮上触发点击事件)
答案 0 :(得分:4)
答案 1 :(得分:1)
自动化元素/ peer是一种使用可访问性框架控制UI的非侵入式机制。 Windows中的一个缺点是缺乏对代码注入的防御。简单地说:
作为特权用户, - 您可以打开和修改正在运行的过程映像 - 使其加载您的OWN DLL - 使其运行您的OWN线程(可能会侦听您的进程中的命令)和 - 允许您读取所需的任何内存。
关于如何使用托管进程查看绕道(http://research.microsoft.com/en-us/projects/detours/)。不幸的是,Microsoft在运行时删除了注入功能。
另请查看http://msdn.microsoft.com/en-us/magazine/cc163617.aspx在托管世界中做事情(像Snoop这样的应用程序使用它)