DDS Чужих приложений...

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

DDS Чужих приложений...

Сообщение Gemini » 22.01.2008 (Вт) 16:59

Добрый день!

Всё dds созданные хранятся в памяти... Как бы до них добраться?

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

Если я не правильно думаю поправьте меня пожалуйста.

(Интересно разобраться для общего образования!)
В нашем деле главное ЛОГИКА.

косил косой косой косой.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 24.01.2008 (Чт) 16:03

Если повезёт, то ReadProcessMemory. Если оно в памяти видеокарты, то никак.
Изображение

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 24.01.2008 (Чт) 18:10

Смотря как создана текстура. По умолчанию она создается в память, вроде, D3DPOOL_DEFAULT...
D3DPOOL_MANAGED - вроде как память видяхи...
#define ROFL 0xDDDD

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 25.01.2008 (Пт) 0:35

А возможно сослаться на Обьект?

Private DX As New DirectX7 'Обьект Dx7
Private Surface As DirectDrawSurface7
Так создаем обьект.
Surface-Это ведь в своем роде ссылка на кусок памяти???

как я понимаю принцип создания обьектов в программировании один и тот же(написание разное). ...?
Значит и обращаться возможно к любым (созданые обьекты в других программах) обьектам как в VB (но похитрому???)


keks-n

Если повезёт, то ReadProcessMemory. Если оно в памяти видеокарты, то никак.


Да, я тоже думал в этом направлении. (Но у меня не хватает знаний в работе с памятью)

Поэтому я и создал данный топик, чтоб вместе с виликими умами разобраться!
Есть такой проект называеться Marshal кто-то из форумчан делал(он основан на ReadProcessMemory). Если интересно могу выложить...
В нашем деле главное ЛОГИКА.

косил косой косой косой.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 25.01.2008 (Пт) 12:12

Gemini
Объект ты создаешь когда присваиваешь
Set Surface = ...
Вот тогда создается объект. Ну не совсем ссылка на кусок памяти. Просто при создании объект в памяти выделаяется место под него... Ссылка - это когда ты будет создавать такой же объект и сделаешь
Set S2 = Surface.
Вот в S2 будет указатель на этот блок памяти.
API-Guide тебе в помощь. Там есть примеры по ReadProcessMemory. Вообще вопрос интересный, я сейчас болею, время есть. Может займусь...
#define ROFL 0xDDDD

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 25.01.2008 (Пт) 14:32

DirectXManiac
Можно подробней про API-Guide. где посмотреть можно?
Немогу понять как правильно найти именно тот (нужный) блок памяти???
В нашем деле главное ЛОГИКА.

косил косой косой косой.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 25.01.2008 (Пт) 21:37

Gemini
ObjPtr, StrPtr, VarPtr тебе в помощь - вернет указатель на область памяти...
www.google.com по слову API-Guide
#define ROFL 0xDDDD

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 26.01.2008 (Сб) 22:03

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

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 27.01.2008 (Вс) 8:30

keks-n
Что то вроде SoftIce?

DirectXManiac
Смотря как создана текстура. По умолчанию она создается в память, вроде, D3DPOOL_DEFAULT...
D3DPOOL_MANAGED - вроде как память видяхи...


Почему D3DPool (Для 3D ???)- у нас же DD.

Вот нашел статью Рисуем в чужом Direct3D приложении
Там на делфи.
В нашем деле главное ЛОГИКА.

косил косой косой косой.


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

    TopList