Страница: 1 |
Страница: 1 |
Вопрос: OpenProcess
Добавлено: 18.04.08 00:56
Автор вопроса: Djon | Web-сайт:
Всем привет!
У меня тут такая проблема, пишу код.
Dim pid As Long
Dim pHandle As Long
hwnd = FindWindow(vbNullString, "Project1")
If (hwnd = 0) Then Exit Sub
GetWindowThreadProcessId hwnd, pid
pHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
If (pHandle = 0) Then Exit Sub
WriteProcessMemory pHandle, &H1340DC, "Beans", 5, 0&
CloseHandle hProcess
И почему-то pHandle=0.
Я вообще хотел отследить изменить определённую ячейку памяти в чужой программе. Окно программы находится,определяется идентификатор процесса, а вот Hendle не определяется. Посмотрите может где ошибка? Я этот код в нете нашёл и немного переделал.
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
Djon
Вопросов: 61
Ответов: 471
Web-сайт:
Профиль | | #1
Добавлено: 18.04.08 00:58
Адрес памяти &H1340DC я через ArtMoney нашёл.
Номер ответа: 2
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #2
Добавлено: 18.04.08 12:06
Если распределение памяти динамическое (в большинстве игр), то этот адрес тебе вряд ли поможет
Номер ответа: 3
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #3
Добавлено: 18.04.08 12:07
Private Const PROCESS_VM_READ = &H10
Private Const PROCESS_VM_WRITE = &H20
Dim hwnd As Long
Dim pid As Long
Dim hProcess As Long
hwnd = FindWindow(vbNullString, "Калькулятор"
If (hwnd = 0) Then Exit Sub
GetWindowThreadProcessId hwnd, pid
hProcess = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, False, pid)
If (pHandle = 0) Then Exit Sub
WriteProcessMemory hProcess, &H1340DC, "Beans", 5, 0&
CloseHandle hProcess
У меня твой код сработал, но иногда нельзя получить полный доступ к процессу.
Номер ответа: 4
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #4
Добавлено: 19.04.08 20:49
если права не одмина.)
Номер ответа: 5
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #5
Добавлено: 19.04.08 21:00
не только. можно и админом не получить доступ
Номер ответа: 6
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #6
Добавлено: 20.04.08 11:10
Ну, если права одмину убрать, то да. А гостю поставить можно :D
А еще есть легкий спобой получить права SYSTEM.
подменить стандартную зставку cmd.exe и подождать 10 минут на экране приветствия. "explorer.exe"