Как я сцепляюсь в другие программы в Windows?

Кто-либо может объяснить, как одна программа сцепляется в и изменяет поведение других программ в Windows?

Как это даже возможно? Разве Windows-программы не защищают себя от других программ, входящих в их память и т.д.? (Я не знаю внутренности, как это работает так, я просто сказал "в их память" - я держал пари, что это более сложно, чем это.)

Также современному Windows нравится Windows 7, все еще позволяют его?

Спасибо, Boda Cydo

5
задан bodacydo 25 June 2010 в 21:25
поделиться

2 ответа

Существует несколько различных способов подключения и изменения поведения других программ.

Например, вы можете напрямую писать в память другой программы (WriteProcessMemory) или можете внедрить поток в память другой программы (CreateRemoteThread). Это предполагает, что у вас есть права на управление этой другой программой.

Вы также можете вставить ловушку окна через SetWindowsHookEx. Это предполагает, что вы работаете в пользовательском сеансе на том же или более высоком уровне целостности программы, в которую вы вводите.

Это все еще разрешено по нескольким причинам. Без возможности изменить поведение других программ вы не сможете реализовать отладчик. Перехватчики Windows используются программами тестирования, программами специальных возможностей, программами, изменяющими внешний вид Windows и т. Д.

5
ответ дан 14 December 2019 в 18:58
поделиться

Представьте себе приложение, которое сохраняет данные в файл X.txt. вы можете захватить содержимое x.txt и попытаться найти разницу в сохраненном x.txt и текущем x.txt, после его изменения вы можете запустить событие, зная, что программа X изменила свой файл x.txt.

Вы можете сделать это на более низком уровне, но концепция останется той же (отслеживайте изменения).

0
ответ дан 14 December 2019 в 18:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: