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

  #11  
Старый 01.03.2021, 21:37
legendabrn
Участник форума
Регистрация: 08.03.2019
Сообщений: 121
С нами: 3781678

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

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

так я тебе блять и написал код не для модуля, емае.
где блин


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

  #12  
Старый 01.03.2021, 21:40
sc6ut
Постоянный
Регистрация: 03.05.2020
Сообщений: 385
С нами: 3174020

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

ты хотя бы читал, что я пишу. я написал, что если функция НЕ ЯВЛЯЕТСЯ частью модуля, то ВОТ ТАК.
 
Ответить с цитированием

  #13  
Старый 01.03.2021, 21:54
legendabrn
Участник форума
Регистрация: 08.03.2019
Сообщений: 121
С нами: 3781678

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

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

так я тебе блять и написал код не для модуля, емае.
а ок извини

не обратил внимание на код выше, думал процитировал моё сообщение и все
 
Ответить с цитированием

  #14  
Старый 01.03.2021, 22:27
legendabrn
Участник форума
Регистрация: 08.03.2019
Сообщений: 121
С нами: 3781678

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

@SC6UT, а как быть с фасткаллом, сможешь привести пример?
 
Ответить с цитированием

  #15  
Старый 01.03.2021, 22:33
sc6ut
Постоянный
Регистрация: 03.05.2020
Сообщений: 385
С нами: 3174020

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

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

@SC6UT, а как быть с фасткаллом, сможешь привести пример?
тебе надо хукнуть именно fastcall функцию или все же thiscall?
 
Ответить с цитированием

  #16  
Старый 01.03.2021, 22:34
legendabrn
Участник форума
Регистрация: 08.03.2019
Сообщений: 121
С нами: 3781678

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

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

тебе надо хукнуть именно fastcall функцию или все же thiscall?
thiscall, но на минхуке использовал fastcall
 
Ответить с цитированием

  #17  
Старый 01.03.2021, 23:31
sc6ut
Постоянный
Регистрация: 03.05.2020
Сообщений: 385
С нами: 3174020

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

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

thiscall, но на минхуке использовал fastcall
покажу на примере функции гташки CWeapon::Fire
Код:
bool CWeapon::Fire(CEntity *, CVector *, CVector *, CEntity *, CVector *, CVector *)
я не проверял, так как не могу сейчас, но вроде как вот так:

C++:





Код:
urmem
::
hook hkCWeapon_Fire
;
bool
__stdcall
HOOK_CWeapon_Fire
(
void
*
firingEntity
,
void
*
origin
,
void
*
muzzlePosn
,
void
*
targetEntity
,
void
*
target
,
void
*
originForDriveBy
)
{
// берем указатель на класс из регистра ecx
void
*
dis
;
__asm mov dis
,
ecx
// вызываем оригинальную функцию
return
urmem
::
call_function

(
hkCWeapon_Fire
.
get_original_addr
(
)
,
dis
,
firingEntity
,
origin
,
muzzlePosn
,
targetEntity
,
target
,
originForDriveBy
)
;
}
hkCWeapon_Fire
.
install
(
0x742300
,
urmem
::
get_func_addr
(
&
HOOK_CWeapon_Fire
)
,
urmem
::
hook
::
type
::
jmp
,
5
)
;
 
Ответить с цитированием

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

Репутация: 183


По умолчанию

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

покажу на примере функции гташки CWeapon::Fire
Код:
CWeapon::Fire(CEntity *, CVector *, CVector *, CEntity *, CVector *, CVector *)
я не проверял, так как не могу сейчас, но вроде как вот так:

C++:





Код:
urmem
::
hook hkCWeapon_Fire
;
bool
__stdcall
HOOK_CWeapon_Fire
(
void
*
firingEntity
,
void
*
origin
,
void
*
muzzlePosn
,
void
*
targetEntity
,
void
*
target
,
void
*
originForDriveBy
)
{
// берем указатель на класс из регистра ecx
void
*
dis
;
__asm mov dis
,
ecx
// вызываем оригинальную функцию
return
urmem
::
call_function

(
hkCWeapon_Fire
.
get_original_addr
(
)
,
firingEntity
,
origin
,
muzzlePosn
,
targetEntity
,
target
,
originForDriveBy
)
;
}
hkCWeaponFire
.
install
(
0x742300
,
urmem
::
get_func_addr
(
&
HOOK_CWeapon_Fire
)
,
urmem
::
hook
::
type
::
jmp
,
5
)
;

не проще фастколл и EDX? да и stdcall вроде только через стек передает если это не функция класса явно объявленная как stdcall
 
Ответить с цитированием

  #19  
Старый 01.03.2021, 23:40
sc6ut
Постоянный
Регистрация: 03.05.2020
Сообщений: 385
С нами: 3174020

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

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

не проще фастколл и EDX? да и stdcall вроде только через стек передает если это не функция класса явно объявленная как stdcall
а какая разница как реализовать? через аргументы получил все что идёт в стеке, а потом достал указатель на класс вручную.
 
Ответить с цитированием

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

Репутация: 183


По умолчанию

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

а какая разница как реализовать? через аргументы получил все что идёт в стеке, а потом достал указатель на класс вручную.
inline asm ломает оптимизатор компилятора
 
Ответить с цитированием
Ответ



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

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


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




ANTICHAT ™ © 2001- Antichat Kft.