
31.10.2022, 22:07
|
|
Флудер
Регистрация: 02.02.2019
Сообщений: 5,070
С нами:
3831395
Репутация:
183
|
|
Сообщение от RTD
Чистые плюсы это в твоем понимании обмазаться асемблером? Напиши прототип и не еби мозги
Я делаю jmp хук по гайду кинча
Гайд - Хуки – что это такое и как с ними работать [2]
Хотел продолжить первый гайд, но понял что нужно объяснить что такое хуки Создание ASI-плагина с нуля Хуки – что это такое и как с ними работать Безопасная инициализация и работа с SAMP Работа с рендером и Directx9 Обработка событий окна + ImGui В этом гайде я расскажу что такое хуки, как...
www.blast.hk
Только ставлю прототип и асемблер от диалогов.
Код:
C++:
Код:
void
dialogHook
(
void
*
pDialog
,
uint16_t
wID
,
uint8_t
iStyle
,
const
char
*
szCaption
,
const
char
*
szText
,
const
char
*
szButton1
,
const
char
*
szButton2
,
BOOL bSend
)
{
AddMessageJumpQ
(
"~r~Hello from blast.hk"
,
5000
,
0
,
false
)
;
}
void
__declspec
(
naked
)
HOOK_Raw_Dialog
(
void
)
{
static
void
*
pDialog
;
static
int
wId
;
static
int
iStyle
;
static
const
char
*
szCaption
;
static
const
char
*
szText
;
static
const
char
*
szButton1
;
static
const
char
*
szButton2
;
static
BOOL bSend
;
__asm
{
// Вытаскиваем все аргументы со стека
mov eax
,
[
esp
+
-
0x0C
]
mov wId
,
eax
mov eax
,
[
esp
+
-
0x08
]
mov iStyle
,
eax
mov eax
,
[
esp
+
0x04
]
mov szCaption
,
eax
mov eax
,
[
esp
+
0x08
]
mov szText
,
eax
mov eax
,
[
esp
+
0x0C
]
mov szButton1
,
eax
mov eax
,
[
esp
+
0x10
]
mov szButton2
,
eax
mov eax
,
[
esp
+
0x1C
]
mov bSend
,
eax
pushad
// Сохраняем все регистры
}
dialogHook
(
pDialog
,
wId
,
iStyle
,
szCaption
,
szText
,
szButton1
,
szButton2
,
bSend
)
;
__asm
{
popad
// вытаскиваем сохраненные регистры
// Прыгаем в трамплин для продолжения исполнения. Если не нужно продолжать исполнение - нужно поставить опкод ret
jmp pOriginalFunction
}
}
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|