 |
|

22.11.2022, 22:23
|
|
Постоянный
Регистрация: 20.03.2021
Сообщений: 666
С нами:
2711257
Репутация:
83
|
|
Сообщение от papercut
Как в SAMP API дождаться загрузки сампа? Плагин через поток работает, без хуков, то есть там while(1). Вообще если бы кто нибудь подкинул ссылку на исходники какого-нибудь проекта с SAMP API, я бы разобрался
а не проще ли?
C++:
Код:
*
reinterpret_cast
(
GetSAMPHandle
(
)
+
0x21A0F8
)
!=
nullptr
;
|
|
|

22.11.2022, 22:25
|
|
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами:
4091290
Репутация:
213
|
|
Сообщение от Savchik Blazer
а не проще ли?
C++:
Код:
*
reinterpret_cast
(
GetSAMPHandle
(
)
+
0x21A0F8
)
!=
nullptr
;
Он проверяет в потоке, в то время, пока класс по адресу samp.dll+0x21A0F8 проинициализировался, остальные могли не успеть этого сделать
А вообще, вот адрес под R1 samp.dll+0x21A114 (bool), если самп загрузился, там будет true
|
|
|

22.11.2022, 22:31
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Харош велосипеды придумывать, все за вас придумали уже
Гайд - Безопасная инициализация и работа с SAMP [3]
Создание ASI-плагина с нуля Хуки – что это такое и как с ними работать Безопасная инициализация и работа с SAMP Работа с рендером и Directx9 Обработка событий окна + ImGui В этом гайде будет рассказано как инициализироваться без потоков, а также как работать с SAMP'ом При использовании на...
www.blast.hk
|
|
|

22.11.2022, 23:40
|
|
Познающий
Регистрация: 23.10.2006
Сообщений: 45
С нами:
10288693
Репутация:
9
|
|
Сообщение от kin4stat
Харош велосипеды придумывать, все за вас придумали уже
Гайд - Безопасная инициализация и работа с SAMP [3]
Создание ASI-плагина с нуля Хуки – что это такое и как с ними работать Безопасная инициализация и работа с SAMP Работа с рендером и Directx9 Обработка событий окна + ImGui В этом гайде будет рассказано как инициализироваться без потоков, а также как работать с SAMP'ом При использовании на...
www.blast.hk
Гайд и ридми пора подправить, после обновы *Nov 21, 2021* даже такого конструктора kthook_simple_t нету.
Поставил версию от 11 ноября 21, все работает

|
|
|

23.11.2022, 04:18
|
|
Новичок
Регистрация: 07.10.2019
Сообщений: 14
С нами:
3475149
Репутация:
53
|
|
1.Как можно сделать авто обновление exe файла любыми возможными методами
|
|
|

23.11.2022, 05:32
|
|
Участник форума
Регистрация: 28.07.2021
Сообщений: 138
С нами:
2524529
Репутация:
163
|
|
Сообщение от papercut
Гайд и ридми пора подправить, после обновы *Nov 21, 2021* даже такого конструктора kthook_simple_t нету.
Поставил версию от 11 ноября 21, все работает

К вашему вниманию несколько видов защиты:
1) скачать и закинуть в папки: ktsignal и xbyak [Уровень: hard]
2) подключить к проекту [Уровень: easy]
И последнее, самое сложное! Когда просто скопировать не получится, нужно будет разбираться и искать нужное тебе через намеспасе) [Уровень: insane]
|
|
|

23.11.2022, 11:07
|
|
Познавший АНТИЧАТ
Регистрация: 01.04.2018
Сообщений: 1,710
С нами:
4272230
Репутация:
183
|
|
Сообщение от sizeoftrickster
скачать и закинуть в папки: ktsignal и xbyak [Уровень: hard]
git submodule update --recursive вродь
|
|
|

24.11.2022, 00:24
|
|
Познающий
Регистрация: 23.10.2006
Сообщений: 45
С нами:
10288693
Репутация:
9
|
|
Сообщение от sizeoftrickster
К вашему вниманию несколько видов защиты:
1) скачать и закинуть в папки: ktsignal и xbyak [Уровень: hard]
2) подключить к проекту [Уровень: easy]
И последнее, самое сложное! Когда просто скопировать не получится, нужно будет разбираться и искать нужное тебе через намеспасе) [Уровень: insane]
Вместо того, чтобы умничать, могли бы объяснить как работают новые хуки, про которые ни слова нигде не написано. В readme и "гайде" описаны методы, которые были больше года назад актуальны.
Вместо методов из примера есть set_cb, который чтобы использовать, надо преисполнится в плюсах. Код с reset remove, выглядит как заклинание, написанное insane'ом(безумцем)
C++:
Код:
window_init_hook
.
set_cb
(
[
this
]
(
const
auto
&
hook
,
auto
&&
hinst
)
Я, конечно, понимаю, что лямбда функции это супер удобно. Но вариант из гайда явно проще и понятнее. А объяснение почему функция принимает ссылку на хук и, как я понимаю, ссылку на ссылку на адрес ,который указан при инициализации хука?
|
|
|

24.11.2022, 01:21
|
|
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами:
4091290
Репутация:
213
|
|
Сообщение от papercut
Вместо того, чтобы умничать, могли бы объяснить как работают новые хуки, про которые ни слова нигде не написано. В readme и "гайде" описаны методы, которые были больше года назад актуальны.
Вместо методов из примера есть set_cb, который чтобы использовать, надо преисполнится в плюсах. Код с reset remove, выглядит как заклинание, написанное insane'ом(безумцем)
C++:
Код:
window_init_hook
.
set_cb
(
[
this
]
(
const
auto
&
hook
,
auto
&&
hinst
)
Я, конечно, понимаю, что лямбда функции это супер удобно. Но вариант из гайда явно проще и понятнее. А объяснение почему функция принимает ссылку на хук и, как я понимаю, ссылку на ссылку на адрес ,который указан при инициализации хука?
если тебе нужен пример того, как ставить хуки, то вот, когда-то че-то хукал, не помню когда и что, мейби разберешься
C++:
Код:
kthook
::
kthook_simple
unkHook
{
}
;
unsigned
__int8
*
*
__fastcall
Unk_HOOKED
(
const
decltype
(
unkHook
)
&
hook
,
unsigned
__int64
*
param_1
)
{
printf
(
"0x%llX\n"
,
(
std
::
uintptr_t
)
param_1
)
;
return
hook
.
get_trampoline
(
)
(
param_1
)
;
}
//install
std
::
uintptr_t UnkAddrHook
=
0x10B1B60
;
unkHook
.
set_dest
(
UnkAddrHook
)
;
unkHook
.
set_cb
(
&
Unk_HOOKED
)
;
unkHook
.
install
(
)
;
|
|
|

24.11.2022, 05:16
|
|
Познающий
Регистрация: 23.10.2006
Сообщений: 45
С нами:
10288693
Репутация:
9
|
|
Сообщение от AdCKuY_DpO4uLa
если тебе нужен пример того, как ставить хуки, то вот, когда-то че-то хукал, не помню когда и что, мейби разберешься
C++:
Код:
kthook
::
kthook_simple
unkHook
{
}
;
unsigned
__int8
*
*
__fastcall
Unk_HOOKED
(
const
decltype
(
unkHook
)
&
hook
,
unsigned
__int64
*
param_1
)
{
printf
(
"0x%llX\n"
,
(
std
::
uintptr_t
)
param_1
)
;
return
hook
.
get_trampoline
(
)
(
param_1
)
;
}
//install
std
::
uintptr_t UnkAddrHook
=
0x10B1B60
;
unkHook
.
set_dest
(
UnkAddrHook
)
;
unkHook
.
set_cb
(
&
Unk_HOOKED
)
;
unkHook
.
install
(
)
;
Спасибо. Сделал, правда, уже по твоему гайду через sdk и samp api.
Вопрос: Как зафорсить отправку синхронизации, которая отправляется при открытии скорборда? Как я понимаю, это RPC_UpdateScoresPingsIPs. Но мне нужно именно зафорсить чтобы сама игра отправила этот рпк(если это рпк) и сама заполнила значениями все пулы. Иначе пока игрок не откроет таб, у всех 0 лвл.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|