Documents & code‎ > ‎

X-Graber [P-invok`e object parse]

X-Graber [P-invok`e object parse]   
post id27 
post length2271 
post datetime12/9/2009 8:07:59 PM 
post ip77.51.3.219 

 

X-Graber [P-invok`e object parse] 

Дата подачи: 06.09.2009 



   коррект от: 18.09.2009 
--------------------------- 

Этиология: 

X-Graber [P-invok`e object parse] 

Патогенез: 

В теории: 

Для каждого приложения Windows имеется две раздельных таблицы дескрипторов: 
1 – для постоянных базовых объектов [или объектов ядра] . На основании дескриптора можно получить сам объект [через аналог Attach - для восстановления объекта некоторого класса/ Detach – для его высвобождения], либо через API, принимающие в качестве параметра в том или ином виде манипулятор [P-манипулятор]. 

----------------------- 
Получаем таблицу: 
----------------------- 
1. ZwQuerySystemInformation[SYSTEM_HANDLE_INFORMATION] 
<Опционально> . [CheckTokenPrivileges] 
2. ZwDuplicateObject [или DuplicateHandle (без разницы)] 
3. ZwQueryObject [ObjectBasicInformation] 
4. ZwQueryObject [ObjectTypeInformation] 
5. ZwQueryObject [ObjectNameInformation] 
далее по обстоятельствам…. 

------------------------- 
PS: 
----------------- -------- 
Через API::Например, для файлов: 
1.CreateFileMapping() 
2.MapViewOfFile() 
3.… работаем с данными … 
4.UnmapViewOfFile() 


Пример получения таблицы дескрипторов системных [G] объектов: 

 

Где выделено красным – возможные носители контекста устройства [D3D::Device DC]. 


2 – временных [пользовательских]. 
-НЕ РАССМАТРИВАЕТСЯ [!] 

------------------------------------------ 

Клинические проявления: 

К сожалению, по причине нехватки времени и ума, оба указанных варианта детально пока не рассматриваются. Объявленная выше задача [а именно получение меша из “чужого” приложения] решается намного проще путём перехвата функции [D3DX::LoadMeshFromXA] или [D3DX::OptimizeVertices] из d3dx9d_36.dll с дальнейшей развилкой (к примеру) на [D3DX::SaveMeshToXA]. Возможно, несколько позже будет возврат к этой теме, а пока что она будет перемещена назад или подбита к схожей по содержанию теме. 


THE END. 
ċ
MGrab_2.rar
(44k)
DMITRY MENSHOV,
Sep 4, 2013, 8:35 AM
Comments