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

  #11  
Старый 31.10.2022, 22:07
ARMOR
Флудер
Регистрация: 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)
 


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.