 |
|

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
}
}
|
|
|

31.10.2022, 22:34
|
|
Постоянный
Регистрация: 18.03.2017
Сообщений: 410
С нами:
4818548
Репутация:
133
|
|
Сообщение от ARMOR
Я делаю 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
}
}
msvc компиль?
C++:
Код:
void
__fastcall
dialogHook
(
void
*
pDialog
,
void
*
fastcallshit
,
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
)
;
reinterpret_cast
(
pOriginalFunction
)
(
pDialog
,
fastcallshit
,
wID
,
iStyle
,
"Kek"
,
szText
,
szButton1
,
szButton2
,
bSend
)
;
//decltype потому что мне лень писать...
}
|
|
|

31.10.2022, 22:37
|
|
Познающий
Регистрация: 13.10.2022
Сообщений: 31
С нами:
1888282
Репутация:
18
|
|
Сообщение от x301
Мне для одного плагина С учить?)
Если тебе уж нужен только 1 плагин, то закажи его.
|
|
|

01.11.2022, 11:43
|
|
Новичок
Регистрация: 23.10.2022
Сообщений: 3
С нами:
1873239
Репутация:
1
|
|
Как узнать есть ли игрок в поле видимости по ID(как пример не за стеной ли)
|
|
|

04.11.2022, 02:09
|
|
Постоянный
Регистрация: 20.03.2021
Сообщений: 666
С нами:
2711257
Репутация:
83
|
|
Сообщение от toxicxanax666
Как изменить шаблон проекта в vs который нацелен на сборку dll, на тот, что собирает kernel драйвер (.sys)?
Creating a Driver Package - Windows drivers
Creating a Driver Package
learn.microsoft.com
|
|
|

05.11.2022, 22:55
|
|
Новичок
Регистрация: 07.03.2017
Сообщений: 26
С нами:
4834459
Репутация:
53
|
|
как отключить весь рендер чата в сампе r3?
то есть включая все задействоавнные кнопки (ф6, t, pgdown, pgup)
скроллбар и мышь
|
|
|

06.11.2022, 14:31
|
|
Познающий
Регистрация: 21.07.2021
Сообщений: 78
С нами:
2534698
Репутация:
23
|
|
не собирается прога, из-за инклудов что делать?
C++:
[CODE]
#include
#include
#include
//из-за этих инклудов не собирается прога
#include
//из-за этих инклудов не собирается прога
int
main
(
)
{
using
namespace
std
;
string
sda
(
"dadasdasdadafdfgsdf"
)
;
transform
(
sda
.
begin
(
)
,
sda
.
end
(
)
,
sda
.
begin
(
)
,
toupper
)
;
cout
1667730718225.pngdinky · 6 Ноя 2022 в 13:31' data-fancybox="lb-post-1188663" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/176453/" style="cursor: pointer;" title="1667730718225.png">

|
|
|

06.11.2022, 14:36
|
|
Флудер
Регистрация: 10.08.2017
Сообщений: 2,659
С нами:
4609424
Репутация:
183
|
|
[QUOTE="dinky"]
не собирается прога, из-за инклудов что делать?
C++:
[CODE]
#include
#include
#include
//из-за этих инклудов не собирается прога
#include
//из-за этих инклудов не собирается прога
int
main
(
)
{
using
namespace
std
;
string
sda
(
"dadasdasdadafdfgsdf"
)
;
transform
(
sda
.
begin
(
)
,
sda
.
end
(
)
,
sda
.
begin
(
)
,
toupper
)
;
cout
C++:
Код:
transform
(
sda
.
cbegin
(
)
,
sda
.
cend
(
)
,
sda
.
begin
(
)
,
[
]
(
unsigned
char
c
)
{
return
std
::
toupper
(
c
)
;
}
)
;
|
|
|

06.11.2022, 23:26
|
|
Новичок
Регистрация: 07.03.2017
Сообщений: 26
С нами:
4834459
Репутация:
53
|
|
Сообщение от мистер вселенная
как отключить весь рендер чата в сампе r3?
то есть включая все задействоавнные кнопки (ф6, t, pgdown, pgup)
скроллбар и мышь
ап
|
|
|

07.11.2022, 00:06
|
|
Новичок
Регистрация: 23.10.2022
Сообщений: 3
С нами:
1873239
Репутация:
1
|
|
Сообщение от Ceonas
Как узнать есть ли игрок в поле видимости по ID(как пример не за стеной ли)
бамп
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|