2013-04-15 3 views
3

Я играл с Microsoft Spy ++ и замечал, что он не только обнаруживает открытые процессы, но и может находить отдельные компоненты, работающие в каждом процессе. Например, есть это приложение, которое позволяет вам открыть окно, в котором есть текстовое поле для IP-адреса и текстового поля для порта. Spy ++ может обнаруживать эти компоненты. Зная, что Spy ++ может их обнаружить, есть ли возможность найти их в отдельном приложении C# и продолжать изменять их содержимое и в противном случае взаимодействовать с программой? (например, стрельбы одним нажатием кнопки)взаимодействует с внешним приложением в C#

ответ

4

Это возможно. Попробуйте использовать PInvoke (InterOp) или AutomationElement, или AutomationPeer (для приложений WPF), чтобы автоматизировать все, что вы хотите сделать.

Также вы можете попробовать приложение Inspect и UISpy.

enter image description here

enter image description here

+0

Я бы подчеркнуть UI Automation один ('AutomationElement') и указать, что в целом удалось рамки для автоматизации (и он должен работать также и с родными и управляемыми программами, независимо от того, используют ли они WPF или что-то еще) –

+0

Существуют ли какие-либо статьи, показывающие, как это использовать? Кроме того, будет ли это работать над приложением, написанным на VB6? – LordZardeck

1

элементы автоматизации/равный является неразрушающим механизм для управления пользовательского интерфейса с помощью рамки доступности. Одной из слабых сторон в окнах является отсутствие защиты от инъекции кода. Проще говоря:

Как привилегированный пользователя, - Вы можете открыть и изменить ход процесса изображение - Сделать это загрузить свои собственные DLL
- Сделать это запустить свой собственный поток (который потенциально слушает команды из процесс) и - позволяет вам считывать любые бит памяти, которые вы хотите.

Посмотрите на объездные пути (http://research.microsoft.com/en-us/projects/detours/), как это сделать с управляемыми процессами .. К сожалению, Microsoft удалила инъекцию во время выполнения.

Также обратите внимание на http://msdn.microsoft.com/en-us/magazine/cc163617.aspx делать вещи в управляемом мире (приложения, такие как Snoop использовать это)

Смежные вопросы