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

  #6621  
Старый 22.11.2022, 22:23
Savchik Blazer
Постоянный
Регистрация: 20.03.2021
Сообщений: 666
С нами: 2711257

Репутация: 83


По умолчанию

Цитата:
Сообщение от papercut  

Как в SAMP API дождаться загрузки сампа? Плагин через поток работает, без хуков, то есть там while(1). Вообще если бы кто нибудь подкинул ссылку на исходники какого-нибудь проекта с SAMP API, я бы разобрался
а не проще ли?

C++:





Код:
*
reinterpret_cast

(
GetSAMPHandle
(
)
+
0x21A0F8
)
!=
nullptr
;
 
Ответить с цитированием

  #6622  
Старый 22.11.2022, 22:25
AdCKuY_DpO4uLa
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами: 4091290

Репутация: 213
По умолчанию

Цитата:
Сообщение от Savchik Blazer  

а не проще ли?

C++:





Код:
*
reinterpret_cast

(
GetSAMPHandle
(
)
+
0x21A0F8
)
!=
nullptr
;

Он проверяет в потоке, в то время, пока класс по адресу samp.dll+0x21A0F8 проинициализировался, остальные могли не успеть этого сделать

А вообще, вот адрес под R1 samp.dll+0x21A114 (bool), если самп загрузился, там будет true
 
Ответить с цитированием

  #6623  
Старый 22.11.2022, 22:31
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Харош велосипеды придумывать, все за вас придумали уже

Гайд - Безопасная инициализация и работа с SAMP [3]

Создание ASI-плагина с нуля Хуки – что это такое и как с ними работать Безопасная инициализация и работа с SAMP Работа с рендером и Directx9 Обработка событий окна + ImGui В этом гайде будет рассказано как инициализироваться без потоков, а также как работать с SAMP'ом При использовании на...

www.blast.hk
 
Ответить с цитированием

  #6624  
Старый 22.11.2022, 23:40
Papercut
Познающий
Регистрация: 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, все работает

 
Ответить с цитированием

  #6625  
Старый 23.11.2022, 04:18
eze
Новичок
Регистрация: 07.10.2019
Сообщений: 14
С нами: 3475149

Репутация: 53
По умолчанию

1.Как можно сделать авто обновление exe файла любыми возможными методами
 
Ответить с цитированием

  #6626  
Старый 23.11.2022, 05:32
sizeoftrickster
Участник форума
Регистрация: 28.07.2021
Сообщений: 138
С нами: 2524529

Репутация: 163
По умолчанию

Цитата:
Сообщение от papercut  

Гайд и ридми пора подправить, после обновы *Nov 21, 2021* даже такого конструктора kthook_simple_t нету.
Поставил версию от 11 ноября 21, все работает


К вашему вниманию несколько видов защиты:

1) скачать и закинуть в папки: ktsignal и xbyak [Уровень: hard]

2) подключить к проекту [Уровень: easy]

И последнее, самое сложное! Когда просто скопировать не получится, нужно будет разбираться и искать нужное тебе через намеспасе) [Уровень: insane]
 
Ответить с цитированием

  #6627  
Старый 23.11.2022, 11:07
Musaigen
Познавший АНТИЧАТ
Регистрация: 01.04.2018
Сообщений: 1,710
С нами: 4272230

Репутация: 183


По умолчанию

Цитата:
Сообщение от sizeoftrickster  

скачать и закинуть в папки: ktsignal и xbyak [Уровень: hard]
git submodule update --recursive вродь
 
Ответить с цитированием

  #6628  
Старый 24.11.2022, 00:24
Papercut
Познающий
Регистрация: 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
)


Я, конечно, понимаю, что лямбда функции это супер удобно. Но вариант из гайда явно проще и понятнее. А объяснение почему функция принимает ссылку на хук и, как я понимаю, ссылку на ссылку на адрес ,который указан при инициализации хука?
 
Ответить с цитированием

  #6629  
Старый 24.11.2022, 01:21
AdCKuY_DpO4uLa
Постоянный
Регистрация: 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
(
)
;
 
Ответить с цитированием

  #6630  
Старый 24.11.2022, 05:16
Papercut
Познающий
Регистрация: 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)
 


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




ANTICHAT ™ © 2001- Antichat Kft.