HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 19.08.2021, 01:59
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Доброго времени суток граждане алкоголики, туниядцы и хулиганы. Есть ли у кого-то решение хукнуть ЧИСТОотдельный метод d3d9::reset? Акцент в плане вопроса сделан именно на том, чтобы хукнуть именно один метод.
 
Ответить с цитированием

  #2  
Старый 19.08.2021, 02:45
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Цитата:
Сообщение от Dark_Knight  

Доброго времени суток граждане алкоголики, туниядцы и хулиганы. Есть ли у кого-то решение хукнуть ЧИСТОотдельный метод d3d9::reset? Акцент в плане вопроса сделан именно на том, чтобы хукнуть именно один метод.
Так не ставь хук на пресент и все

BulletTracer/fast/D3D/d3dhook.h at e20189b1d42ba0426807a16fd0dfbf31ee01f492 · kin4stat/BulletTracer

Contribute to kin4stat/BulletTracer development by creating an account on GitHub.

github.com
 
Ответить с цитированием

  #3  
Старый 19.08.2021, 03:27
loganhackerdff
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами: 4633764

Репутация: 148


По умолчанию

Цитата:
Сообщение от kin4stat  

Так не ставь хук на пресент и все

BulletTracer/fast/D3D/d3dhook.h at e20189b1d42ba0426807a16fd0dfbf31ee01f492 · kin4stat/BulletTracer

Contribute to kin4stat/BulletTracer development by creating an account on GitHub.

github.com

Я когда юзал FindDevice жаловались что на семёрке крашит, с вмт хукером такого нет
 
Ответить с цитированием

  #4  
Старый 19.08.2021, 03:35
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Цитата:
Сообщение от loganhackerdff  

Я когда юзал FindDevice жаловались что на семёрке крашит, с вмт хукером такого нет
vmt hook govno

(в gta:sa можно хукать по адресу девайса)
 
Ответить с цитированием

  #5  
Старый 19.08.2021, 03:36
loganhackerdff
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами: 4633764

Репутация: 148


По умолчанию

Цитата:
Сообщение от kin4stat  

vmt hook govno
(в gta:sa можно хукать по адресу девайса)
Но он не крашит на семёрке, а finddevice этот крашит
 
Ответить с цитированием

  #6  
Старый 19.08.2021, 05:13
Cake_
Участник форума
Регистрация: 04.04.2017
Сообщений: 263
С нами: 4793630

Репутация: 133
По умолчанию

хукер urshadow

C++:





Код:
#define __RwD3DDevice                0x00C97C28
#define DIRECTX_VT_FUNC(offset)        (reinterpret_cast(*reinterpret_cast(*reinterpret_cast(__RwD3DDevice)))[offset])
HRESULT __stdcall
hkReset
(
IDirect3DDevice9
*
pDevice
,
D3DPRESENT_PARAMETERS
*
pPresentationParameters
)
{
HRESULT hres
=
hook_d3dReset
.
call

(
pDevice
,
pPresentationParameters
)
;
return
hres
;
}
hook_d3dReset
.
install
(
urmem
::
get_func_addr
(
DIRECTX_VT_FUNC
(
16
)
)
,
urmem
::
get_func_addr
(
&
hkReset
)
)
;
 
Ответить с цитированием

  #7  
Старый 19.08.2021, 05:19
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Цитата:
Сообщение от Cake_  

Код:





Код:
#define __RwD3DDevice 0x00C97C28
#define DIRECTX_VT_FUNC(offset) (reinterpret_cast(*reinterpret_cast(*reinterpret_cast(__RwD3DDevice)))[offset])

C++:





Код:
constexpr
auto
__RwD3DDevice
=
0x00C97C28
;
void
*
DIRECTX_VT_FUNC
(
unsigned
int
offset
)
{
unsigned
long
Device
=
*
reinterpret_cast

(
__RwD3DDevice
)
;
return
*
reinterpret_cast

(
Device
)
[
offset
]
;
}


UPD:

C++20:

C++:





Код:
constinit
auto
__RwD3DDevice
=
0x00C97C28
;
void
*
DIRECTX_VT_FUNC
(
unsigned
int
offset
)
{
unsigned
long
Device
=
*
reinterpret_cast

(
__RwD3DDevice
)
;
return
*
reinterpret_cast

(
Device
)
[
offset
]
;
}
 
Ответить с цитированием

  #8  
Старый 19.08.2021, 05:26
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

Цитата:
Сообщение от kin4stat  

C++:





Код:
constexpr
auto
__RwD3DDevice
=
0x00C97C28
;
constexpr
void
*
DIRECTX_VT_FUNC
(
unsigned
int
offset
)
{
unsigned
long
Device
=
*
reinterpret_cast

(
__RwD3DDevice
)
;
return
*
reinterpret_cast

(
Device
)
[
offset
]
;
}


UPD:
C++20:

C++:





Код:
constinit
auto
__RwD3DDevice
=
0x00C97C28
;
consteval
void
*
DIRECTX_VT_FUNC
(
unsigned
int
offset
)
{
unsigned
long
Device
=
*
reinterpret_cast

(
__RwD3DDevice
)
;
return
*
reinterpret_cast

(
Device
)
[
offset
]
;
}

consteval - выполнение строго во время компиляции. Что оно у тебя во время компиляции из 0x00C97C28; прочитает?
 
Ответить с цитированием

  #9  
Старый 19.08.2021, 12:48
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Цитата:
Сообщение от Cake_  

хукер urshadow

C++:





Код:
#define __RwD3DDevice                0x00C97C28
#define DIRECTX_VT_FUNC(offset)        (reinterpret_cast(*reinterpret_cast(*reinterpret_cast(__RwD3DDevice)))[offset])
HRESULT __stdcall
hkReset
(
IDirect3DDevice9
*
pDevice
,
D3DPRESENT_PARAMETERS
*
pPresentationParameters
)
{
HRESULT hres
=
hook_d3dReset
.
call

(
pDevice
,
pPresentationParameters
)
;
return
hres
;
}
hook_d3dReset
.
install
(
urmem
::
get_func_addr
(
DIRECTX_VT_FUNC
(
16
)
)
,
urmem
::
get_func_addr
(
&
hkReset
)
)
;

Вот это прям то что я искал. Спасибо. Я просто пробовал хукнуть по адрессу 0x6FFE0 для р1 и ловил краши. Тему можно закрыть.
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.