 |
|

24.06.2022, 17:49
|
|
Участник форума
Регистрация: 08.03.2019
Сообщений: 121
С нами:
3781678
Репутация:
113
|
|
Сообщение от Yuriy Code
Киня, вот создал ты библиотеку свою, может сделаешь уроки, как самому делать хуки? А то грустно наверное пользоваться готовым кодом.
Мысли людей скорее всего "Эххх, я вот не умею хуки создавать, пользуюсь чужим кодом(((".
И грустно для самого себя использовать чужой код, то есть понимать, что ты так не умеешь и за тебя это сделал другой человек.
Гайд - Хуки – что это такое и как с ними работать [2]
Хотел продолжить первый гайд, но понял что нужно объяснить что такое хуки Создание ASI-плагина с нуля Хуки – что это такое и как с ними работать Безопасная инициализация и работа с SAMP Работа с рендером и Directx9 Обработка событий окна + ImGui В этом гайде я расскажу что такое хуки, как...
www.blast.hk
Исходник - Гайд - Мини-гайд по хукам. [Теория + Практика]
Всем привет. В последнее время я стал замечать, что абсолютное большинство использует всякие готовые библиотеки для хуков, и даже не заморачиваются о строении функций, типах хуков и прочим. Как таковых гайдов очень мало, а если и есть - на английском языке. В этой теме я расскажу обо всем просто...
www.blast.hk
|
|
|

13.07.2022, 14:01
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Обновил, пофиксил баг с выравниванием стека на x64
|
|
|

13.07.2022, 18:29
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Устроим сегодня день обнов, хули
Проверка
теперь работает на unix like системах
Также добавил опцию на заморозку потоков. Чтобы ктхук заморозил потоки прежде чем установить хук - второй шаблонный аргумент нужно выставить в
Код:
kthook_option::kFreezeThreads
Работает только на linux и windows (x86 и x64)
(Теоретически ктхук работает и на макос, но я не проверял. Если работает, то заморозка потоков на макос не работает)
|
|
|

20.07.2022, 01:18
|
|
Постоянный
Регистрация: 01.05.2021
Сообщений: 752
С нами:
2650753
Репутация:
98
|
|
Кинь, твой ктхук для всех игр подойдёт или онли samp?
|
|
|

20.07.2022, 01:20
|
|
Флудер
Регистрация: 23.09.2017
Сообщений: 2,409
С нами:
4546268
Репутация:
183
|
|
Сообщение от Yuriy Code
И грустно для самого себя использовать чужой код, то есть понимать, что ты так не умеешь и за тебя это сделал другой человек.
Как побороть NIH-синдром?
Ответили на вопрос 4 человека. Оцените лучшие ответы! И подпишитесь на вопрос, чтобы узнавать о появлении новых ответов.
qna.habr.com
|
|
|

20.07.2022, 06:53
|
|
Познавший АНТИЧАТ
Регистрация: 29.09.2018
Сообщений: 1,292
С нами:
4012500
Репутация:
138
|
|
Сообщение от Yuriy Code
Кинь, твой ктхук для всех игр подойдёт или онли samp?
причем тут игры это просто хукер он сам говорил лучше не юзать его для геймхакинга ващ3
|
|
|

21.08.2022, 05:01
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Хайповая обнова мужики зацените.
Из мелочей: фикс бага на naked хуках, фикс установки хука на call опкод.
Ну, а теперь к крутым новостям.
Добавил враппер на коллбэки с большим количество аргументов. Допустим мы хотим захукать такую функцию:
C++:
Код:
using
CCoronas_RegisterCorona
=
void
(
__cdecl
*
)
(
unsigned
int
id
,
CEntity
*
attachTo
,
unsigned
char
red
,
unsigned
char
green
,
unsigned
char
blue
,
unsigned
char
alpha
,
const
CVector
&
posn
,
float
radius
,
float
farClip
,
eCoronaType coronaType
,
eCoronaFlareType flaretype
,
bool
enableReflection
,
bool
checkObstacles
,
int
_param_not_used
,
float
angle
,
bool
longDistance
,
float
nearClip
,
unsigned
char
fadeState
,
float
fadeSpeed
,
bool
onlyFromBelow
,
bool
reflectionDelay
)
;
И из этого всего списка нам нужен только параметр fadeSpeed. Если использовать хуки по обычному, тогда придется описывать все аргументы, и это неудобно.
И приходилось делать это вот так:
C++:
Код:
register_corona_hook
.
set_cb
(
[
]
(
const
auto
&
hook
,
unsigned
int
id
,
CEntity
*
attachTo
,
unsigned
char
red
,
unsigned
char
green
,
unsigned
char
blue
,
unsigned
char
alpha
,
const
CVector
&
posn
,
float
radius
,
float
farClip
,
eCoronaType coronaType
,
eCoronaFlareType flaretype
,
bool
enableReflection
,
bool
checkObstacles
,
int
_param_not_used
,
float
angle
,
bool
longDistance
,
float
nearClip
,
unsigned
char
fadeState
,
loat fadeSpeed
,
bool
onlyFromBelow
,
bool
reflectionDelay
)
{
if
(
fade_speed
==
1.0f
)
return
hook
.
get_trampoline
(
)
(
id
,
attachTo
,
red
,
green
,
blue
,
alpha
,
posn
,
radius
,
farClip
,
coronaType
,
flaretype
,
enableReflection
,
checkObstacles
,
_param_not_used
,
angle
,
longDistance
,
nearClip
,
fadeState
,
15.0f
,
onlyFromBelow
,
reflectionDelay
)
;
else
return
hook
.
call_trampoline
(
id
,
attachTo
,
red
,
green
,
blue
,
alpha
,
posn
,
radius
,
farClip
,
coronaType
,
flaretype
,
enableReflection
,
checkObstacles
,
_param_not_used
,
angle
,
longDistance
,
nearClip
,
fadeState
,
fadeSpeed
,
onlyFromBelow
,
reflectionDelay
)
;
}
)
;
Поэтому теперь можно сделать так:
C++:
Код:
register_corona_hook
.
set_cb_wrapped
(
[
]
(
const
auto
&
hook
,
kthook
::
take
&&
v18
,
float
fade_speed
,
kthook
::
take
&&
v20_v21
)
{
if
(
fade_speed
==
1.0f
)
return
hook
.
call_trampoline
(
v18
,
15.0f
,
v20_v21
)
;
else
return
hook
.
call_trampoline
(
v18
,
fade_speed
,
v20_v21
)
;
}
)
;
Т.е. неиспользуемые первые 18 аргументов закидываются в v18, fade_speed закидывается по обычному, и последние 2 аргумента закидываются в v20_v21.
Заметно меньше ручной писанины, сразу видно что происходит, ну и следовательно меньше шанс ошибки. Круто же?
Ну и чтобы вызвать трамплин, нужно вызвать call_trampoline и передать туда все заглушки. В обычных хуках call_trampoline вызвать тоже можно, но компиляция замедлится.
Ну и пока вы побежали ставить лайки и звездочки на гитхаб, я расскажу об ограничениях.
Коллбэк к хуку не может быть шаблонным. Только первый ее аргумент(т.е. объект хука). Попробую это обойти в ближайшее время конечно, но не факт что выйдет
Ну а еще, не забывайте указывать && у kthook::take, иначе все сломается
|
|
|

08.09.2022, 13:26
|
|
Постоянный
Регистрация: 01.05.2021
Сообщений: 752
С нами:
2650753
Репутация:
98
|
|
Я просто в ахуе, как это сложно... 😣
А ещё я в этих хуках и реверсе нихуя не понимаю, это просто пиздец. 😕
Где можно научиться? 🙄
Хочется плакать... 🙁😐
|
|
|

08.09.2022, 13:28
|
|
Постоянный
Регистрация: 03.05.2020
Сообщений: 385
С нами:
3174020
Репутация:
213
|
|
Сообщение от Yuriy Code
Я просто в ахуе, как это сложно... 😣
А ещё я в этих хуках и реверсе нихуя не понимаю, это просто пиздец. 😕
Где можно научиться? 🙄
Хочется плакать... 🙁😐
перестать писать хуету несусветную в каждой теме и научиться гуглить
|
|
|

08.09.2022, 13:29
|
|
Постоянный
Регистрация: 01.05.2021
Сообщений: 752
С нами:
2650753
Репутация:
98
|
|
Сообщение от sc6ut
перестать писать хуету несусветную в каждой теме и научиться гуглить
По реверсу и хукам нихуя в гугле нет. ☹️
А если и есть единицы результатов, то это пиздец сложно и непонятно...
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|