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

  #1  
Старый 25.11.2024, 01:34
EclipsedFlow
Познавший АНТИЧАТ
Регистрация: 18.09.2017
Сообщений: 1,044
С нами: 4553429

Репутация: 153


По умолчанию

Возникли проблемы с хуком функции для SetGameKeyState(CPad_UpdateKeyStates, вроде так называется). Раньше работала нормально в проекте когда юзал(тогда юзал другой хукер к слову), а сейчас вылетает много исключений и краш. Вот мой хук который я использую. Правильно все с кодом?

C++:





Код:
kthook
::
kthook_simple

hookKeys
{
}
;
auto
CPad_UpdateKeyGame_HOOK
=
[
]
(
const
decltype
(
hookKeys
)
&
hook
,
CPad
*
pPad
,
int
a2
)
->
BYTE
{
if
(
isPluginInitialize
)
{
// do work...
}
return
hook
.
get_trampoline
(
)
(
pPad
,
a2
)
;
}
;
// install
hookKeys
.
set_cb
(
CPad_UpdateKeyGame_HOOK
)
;
hookKeys
.
set_dest
(
0x541E17
)
;
hookKeys
.
install
(
)
;
// remove
hookKeys
.
remove
(
)
;
 
Ответить с цитированием

  #2  
Старый 08.12.2024, 01:19
EclipsedFlow
Познавший АНТИЧАТ
Регистрация: 18.09.2017
Сообщений: 1,044
С нами: 4553429

Репутация: 153


По умолчанию

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

Возникли проблемы с хуком функции для SetGameKeyState(CPad_UpdateKeyStates, вроде так называется). Раньше работала нормально в проекте когда юзал(тогда юзал другой хукер к слову), а сейчас вылетает много исключений и краш. Вот мой хук который я использую. Правильно все с кодом?

C++:





Код:
kthook
::
kthook_simple

hookKeys
{
}
;
auto
CPad_UpdateKeyGame_HOOK
=
[
]
(
const
decltype
(
hookKeys
)
&
hook
,
CPad
*
pPad
,
int
a2
)
->
BYTE
{
if
(
isPluginInitialize
)
{
// do work...
}
return
hook
.
get_trampoline
(
)
(
pPad
,
a2
)
;
}
;
// install
hookKeys
.
set_cb
(
CPad_UpdateKeyGame_HOOK
)
;
hookKeys
.
set_dest
(
0x541E17
)
;
hookKeys
.
install
(
)
;
// remove
hookKeys
.
remove
(
)
;

Все ещё актуально, параллельно сам пробую, но если кто-то раньше подскажет - буду благодарен
 
Ответить с цитированием

  #3  
Старый 08.12.2024, 02:50
ARMOR
Флудер
Регистрация: 02.02.2019
Сообщений: 5,070
С нами: 3831395

Репутация: 183


По умолчанию

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

Все ещё актуально, параллельно сам пробую, но если кто-то раньше подскажет - буду благодарен
Это из-за того что SF тоже хукает CPad::Update(). Пролог метода изменяется на прыжок в функцию SF

Как выглядит стандартный пролог CPad::Update()

Знімок екрана 2024-12-08 004842.pngARMOR · 8 Дек 2024 в 01:50' data-fancybox="lb-post-1568288" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/258971/" style="cursor: pointer;" title="Знімок екрана 2024-12-08 004842.png">


Пролог CPad::Update() с накатаным SF:

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

  #4  
Старый 08.12.2024, 07:56
EclipsedFlow
Познавший АНТИЧАТ
Регистрация: 18.09.2017
Сообщений: 1,044
С нами: 4553429

Репутация: 153


По умолчанию

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

Это из-за того что SF тоже хукает CPad::Update(). Пролог метода изменяется на прыжок в функцию SF

Как выглядит стандартный пролог CPad::Update()

Пролог CPad::Update() с накатаным SF:
Спасибо за ответ. И каким образом можно перехукать например?
 
Ответить с цитированием

  #5  
Старый 09.12.2024, 00:08
etereon
Постоянный
Регистрация: 08.03.2016
Сообщений: 332
С нами: 5358262

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

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

Спасибо за ответ. И каким образом можно перехукать например?
Почему бы не поставить хук на хук
 
Ответить с цитированием

  #6  
Старый 15.12.2024, 01:22
0xff65
Познающий
Регистрация: 23.01.2022
Сообщений: 36
С нами: 2267665

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

Приветствую, решил подогнать лоадер с метод инъекции SetWindowsHookEx, изменял только FindWindowA, но лоадер стопается на моменте [ERROR]: please, start game, что не так?

C++:





[CODE]
#include "loaderFree.hpp"
void
downloadFile
(
const
char
*
dllLink
,
const
char
*
dllPath
)
{
URLDownloadToFileA
(
0
,
dllLink
,
dllPath
,
0
,
0
)
;
DeleteUrlCacheEntryA
(
dllLink
)
;
std
::
cout

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

  #7  
Старый 15.12.2024, 01:49
Smeruxa
Познавший АНТИЧАТ
Регистрация: 27.11.2020
Сообщений: 1,431
С нами: 2874035

Репутация: 183


По умолчанию

[QUOTE="geteo"]

Приветствую, решил подогнать лоадер с метод инъекции SetWindowsHookEx, изменял только FindWindowA, но лоадер стопается на моменте [ERROR]: please, start game, что не так?

C++:





[CODE]
#include "loaderFree.hpp"
void
downloadFile
(
const
char
*
dllLink
,
const
char
*
dllPath
)
{
URLDownloadToFileA
(
0
,
dllLink
,
dllPath
,
0
,
0
)
;
DeleteUrlCacheEntryA
(
dllLink
)
;
std
::
cout
 
Ответить с цитированием

  #8  
Старый 15.12.2024, 01:53
0xff65
Познающий
Регистрация: 23.01.2022
Сообщений: 36
С нами: 2267665

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

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

Попробуй так
HWND hWnd = FindWindowA(NULL, "GTA:SA:MP");
+ старт программы от имени админа
Теперь ошибка с LoadLibrary, cannot load software
 
Ответить с цитированием

  #9  
Старый 15.12.2024, 02:50
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

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

Теперь ошибка с LoadLibrary, cannot load software
Возращай код ошибки через GetLastError и уже её гугли
 
Ответить с цитированием

  #10  
Старый 17.12.2024, 18:16
0xff65
Познающий
Регистрация: 23.01.2022
Сообщений: 36
С нами: 2267665

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

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

Возращай код ошибки через GetLastError и уже её гугли
Поток 17688 завершился с кодом 1 (0x1).

ERROR_INVALID_FUNCTION

1 (0x1)

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





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT ™ © 2001- Antichat Kft.

×

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

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

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

×

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

Сумма USDT:

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

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