![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
![]()
Организовав то что нашел на просторах инета, пришел к такому выводу:
0. В общем Тут мы не используем асма, только функции, любезно придоставленные разработчиками виндоус. Методы из user32.dll 1. EnumAllWindows через EnumChildWnd Просто перечислим всех детей рабочего стола. Иногда не очевидно, какой у окна заголовок. 2. FindWindow Получив дескриптор окна (HWND) можем делать с ним что угодно. 3. GetWindowThreadProcessId Дает PID, уникальный идентификатор процесса в системе. 4. SetDebugPrivelage через AdjustTokenPrivileges из advapi32.dll Иногда, чтобы двигаться дальше нужно получить привелегии отладчика, иначе некоторые процессы не удасться открыть. методы kernell32.dll 5. OpenProcess Дает дескриптор процесса 6. VirtualQueryex Позволяет, просто зная дескриптор процесса, обращаться по относительному адресу в процессе! При этом память пишется в буфер 7. Наконец ReadProcessMemory и writeProcessMemory осуществляют чтение и запись в памяти чужого процесса. Предполагаю, что большинство программ, занимающихся маппингом, используют эту последовательность. Существует более сложный метод: напрямую испоьзовать ассамблер, а функции ядра вызывать постольку, поскольку нужно орентироваться в многопоточной карте windows... Последний раз редактировалось BaronTreep; 31.05.2009 в 09:39. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запуск программы из оперативной памяти? | G&R | Win Api | 2 | 22.12.2008 21:26 |
Доступ к интренет через другой комп | Gromsky | Свободное общение | 2 | 19.10.2008 01:45 |
Доступ к обьектам другой формы? | Ring0Sn | Общие вопросы .NET | 2 | 17.08.2008 10:41 |
Запуск программы на выполнение из другой программы. | ViNcHeStEr | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 18.06.2008 14:33 |