Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Открыть неоткрывающийся процесс Добавлено: 11.04.09 04:46  

Автор вопроса:  Arvitaly | Web-сайт: okazani.ru | ICQ: 301746136 
На самом деле задача проще - получить данные из чужого TreeView. Если процесс открывается с возможностью записи в его память PROCESS_VM_WRITE все прекрасно. Но как быть с процессами, которые запрещают доступ к своей памяти? Или может быть есть еще способы получения данных из TreeView

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #1
Добавлено: 11.04.09 06:23
Пробуем получить привилегии отладчика. А если драйвер защищает процесс, то фиг знает... Глобальный хук, видимо.

Ответить

Номер ответа: 2
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #2
Добавлено: 11.04.09 16:26
LVM_GETITEM не работает?

Ответить

Номер ответа: 3
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #3
Добавлено: 11.04.09 18:10
Sharp вообщем
1 процесс- VB6 мой проект
2 процесс - откуда надо вытащить treeview
LVM_GETITEM работает только если записывать его в памяти процесса 2 (в котором нужное нам Treeview), когда я пытаюсь записать инфу в память моего процесса, в процессе 2 происходит критическая ошибка (например проект VB зависает надолго и потом ошибка память не может быть Read).
Если же записывать и читать структуру в (из) память процесса 2, то все работает нормально, но следовательно для этого открыть его нужно с PROCESS_VM_WRITE.
Executioner
Пытаюсь получить привелегии с помощью функции
  1.  
  2. Public Function EnablePrivilege(ph As Long) As Boolean
  3.     Dim hdlProcessHandle As Long
  4.     Dim hdlTokenHandle As Long
  5.     Dim tmpLuid As LUID
  6.     Dim tkp As TOKEN_PRIVILEGES
  7.     Dim tkpNewButIgnored As TOKEN_PRIVILEGES
  8.     Dim lBufferNeeded As Long
  9.     Dim lp As Long
  10.     hdlProcessHandle = ph
  11.     lp = OpenProcessToken(hdlProcessHandle, TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hdlTokenHandle)
  12.     lp = LookupPrivilegeValue(vbNullString, "SeDebugPrivilege", tmpLuid)
  13.     tkp.PrivilegeCount = 1
  14.     tkp.Privileges(0).pLuid = tmpLuid
  15.     tkp.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED
  16.     EnablePrivilege = AdjustTokenPrivileges(hdlTokenHandle, False, tkp, Len(tkpNewButIgnored), tkpNewButIgnored, lBufferNeeded)
  17. End Function


но в
  1.     lp = OpenProcessToken(hdlProcessHandle, TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hdlTokenHandle)
, lp возвращает 0 и в hdlTokenHandle тоже 0. Т.е. я понимаю права задать не удается.

:-) А глобальный хук это очень тяжело?) Я видел функции NT, но они недокументированные, примеров особо тоже найти не удалось

Ответить

Номер ответа: 4
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #4 Добавлено: 11.04.09 18:17
Непомню как с субитэмами но итемы можно через апи и получить и послать в другую прогу и в память лезть не придется.

Ответить

Номер ответа: 5
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #5
Добавлено: 11.04.09 18:57
Smith Айэтемы получить можно а вот название их нет

Ответить

Номер ответа: 6
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #6 Добавлено: 11.04.09 19:32
Извиняйте неуча.
Я вообще тревью с листвью попутал :).
Но всетаки это должно быть возможно :)

Ответить

Номер ответа: 7
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #7
Добавлено: 11.04.09 19:48
Листвью следующий по плану)))
А вот с текстбокс и батон и листбок и комбобокс проблем не встретилось а тут почему то загвоздка.

Ответить

Номер ответа: 8
Автор ответа:
 MegaÐefender



Вопросов: 19
Ответов: 313
 Web-сайт: safetyAV.narod.ru
 Профиль | | #8
Добавлено: 26.04.09 22:33
Если программа с контролом TreeView написана на другом, отличном от VB, то ничего не выйдет, если наоборот, то нужно узнать адрес объекта и с помощью copymem скопировать в нужный адрес. Кажется сложным, но я где видел такой пример, и у меня тоже есть он, но дать не могу

Ответить

Номер ответа: 9
Автор ответа:
 MegaÐefender



Вопросов: 19
Ответов: 313
 Web-сайт: safetyAV.narod.ru
 Профиль | | #9
Добавлено: 26.04.09 22:53
Помогите с написанием сервиса.
Ситуация следующая: есть готовая программа-сервис, при запуске которой статусом является starting вместо running, имя_пользователя вместо system, т.е сервис не работает(пытается запуститься). Заранее благодарен

Ответить

Номер ответа: 10
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #10
Добавлено: 27.04.09 08:31
Если программа с контролом TreeView написана на другом, отличном от VB, то ничего не выйдет, если наоборот, то нужно узнать адрес объекта и с помощью copymem скопировать в нужный адрес. Кажется сложным, но я где видел такой пример, и у меня тоже есть он, но дать не могу


Да ладно жадина))) я уже давно разобрался и могу ВСЕ.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам