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

  #21  
Старый 01.11.2024, 16:23
BIT_hack
Постоянный
Регистрация: 12.08.2021
Сообщений: 355
С нами: 2502597

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

Charmant​Ваш кодс работал для IT
 
Ответить с цитированием

  #22  
Старый 01.11.2024, 16:24
Charmant
Познающий
Регистрация: 08.03.2024
Сообщений: 89
С нами: 1150633

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

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

В первом случае как вы написали ничего не происходит во втором игра начинает тормозить.
Насчет dll я ее инжектю когда игра уже запущена.
Ну вот судя по этому скрину, если базовый адрес енжины 20000000, то смещение UNH для этой енжины равно 0x77ed80
 
Ответить с цитированием

  #23  
Старый 01.11.2024, 16:29
BIT_hack
Постоянный
Регистрация: 12.08.2021
Сообщений: 355
С нами: 2502597

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

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

Ну вот судя по этому скрину, если базовый адрес енжины 20000000, то смещение UNH для этой енжины равно 0x77ed80
Спасибо чуть позже отпишу нужно ехать срочно!
 
Ответить с цитированием

  #24  
Старый 01.11.2024, 16:48
Maksim
Познавший АНТИЧАТ
Регистрация: 31.01.2017
Сообщений: 1,604
С нами: 4885523

Репутация: 1085


По умолчанию

Я правильно понял, можно сделать так без привязки к оффсету?

Цитата:
Сообщение от Спойлер  


C++:


Код:
#include "pch.h"
#include "string"
class
UNetworkHandler
{
}
;
// Объявление типа для функции RequestAuthLogin
typedef
int
(
__fastcall
*
RequestAuthLogin_fn
)
(
UNetworkHandler
*
,
int
,
const
wchar_t
*
,
const
wchar_t
*
,
int
)
;
// Объявление типа для функции InternalConstructor
typedef
void
(
__stdcall
*
InternalConstructor_fn
)
(
void
*
)
;
// Объявление функции RequestLogin
void
RequestLogin
(
const
wchar_t
*
login
,
const
wchar_t
*
password
)
;
namespace
{
uintptr_t UNetworkOffset
=
0
;
// Смещение не используется
UNetworkHandler
*
UNetwork
=
nullptr
;
RequestAuthLogin_fn fRequestAuthLogin
=
nullptr
;
InternalConstructor_fn fInternalConstructor
=
nullptr
;
}
void
Init
(
)
{
HMODULE hEngineModule
=
GetModuleHandleW
(
L
"engine.dll"
)
;
if
(
hEngineModule
!=
nullptr
)
{
// Получаем адрес функции InternalConstructor
fInternalConstructor
=
(
InternalConstructor_fn
)
GetProcAddress
(
hEngineModule
,
"?InternalConstructor@UNetworkHandler@@SAXPAX@Z"
)
;
if
(
fInternalConstructor
!=
nullptr
)
{
// Вызов функции InternalConstructor для инициализации UNetwork, если нужно
fInternalConstructor
(
&
UNetwork
)
;
// Проверка на успешное извлечение UNetwork
if
(
UNetwork
!=
nullptr
)
{
MessageBox
(
NULL
,
L
"Все данные собраны вход!!!!!"
,
L
""
,
MB_OK
)
;
// Получаем адрес функции RequestAuthLogin
fRequestAuthLogin
=
(
RequestAuthLogin_fn
)
GetProcAddress
(
hEngineModule
,
"?RequestAuthLogin@UNetworkHandler@@UAEHPAG0H@Z"
)
;
// Попытка авторизации
RequestLogin
(
L
"admin"
,
L
"admin"
)
;
}
}
}
}
void
RequestLogin
(
const
wchar_t
*
login
,
const
wchar_t
*
password
)
{
if
(
UNetwork
!=
nullptr
&&
fRequestAuthLogin
!=
nullptr
)
{
MessageBox
(
NULL
,
L
"Попытка входа в игру!"
,
L
""
,
MB_OK
)
;
fRequestAuthLogin
(
UNetwork
,
0
,
login
,
password
,
0
)
;
}
}
DWORD WINAPI
test
(
LPVOID lpParameter
)
{
Sleep
(
7000
)
;
Init
(
)
;
return
0
;
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD  ul_reason_for_call
,
LPVOID lpReserved
)
{
switch
(
ul_reason_for_call
)
{
case
DLL_PROCESS_ATTACH
:
DisableThreadLibraryCalls
(
hModule
)
;
{
HANDLE hThread
=
CreateThread
(
NULL
,
0
,
test
,
NULL
,
0
,
NULL
)
;
if
(
hThread
!=
NULL
)
{
CloseHandle
(
hThread
)
;
}
}
break
;
}
return
TRUE
;
}
 
Ответить с цитированием

  #25  
Старый 01.11.2024, 17:16
Charmant
Познающий
Регистрация: 08.03.2024
Сообщений: 89
С нами: 1150633

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

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

Я правильно понял, можно сделать так без привязки к оффсету?
Цитата:
Сообщение от Спойлер  


C++:


Код:
#include "pch.h"
#include "string"
class
UNetworkHandler
{
}
;
// Объявление типа для функции RequestAuthLogin
typedef
int
(
__fastcall
*
RequestAuthLogin_fn
)
(
UNetworkHandler
*
,
int
,
const
wchar_t
*
,
const
wchar_t
*
,
int
)
;
// Объявление типа для функции InternalConstructor
typedef
void
(
__stdcall
*
InternalConstructor_fn
)
(
void
*
)
;
// Объявление функции RequestLogin
void
RequestLogin
(
const
wchar_t
*
login
,
const
wchar_t
*
password
)
;
namespace
{
uintptr_t UNetworkOffset
=
0
;
// Смещение не используется
UNetworkHandler
*
UNetwork
=
nullptr
;
RequestAuthLogin_fn fRequestAuthLogin
=
nullptr
;
InternalConstructor_fn fInternalConstructor
=
nullptr
;
}
void
Init
(
)
{
HMODULE hEngineModule
=
GetModuleHandleW
(
L
"engine.dll"
)
;
if
(
hEngineModule
!=
nullptr
)
{
// Получаем адрес функции InternalConstructor
fInternalConstructor
=
(
InternalConstructor_fn
)
GetProcAddress
(
hEngineModule
,
"?InternalConstructor@UNetworkHandler@@SAXPAX@Z"
)
;
if
(
fInternalConstructor
!=
nullptr
)
{
// Вызов функции InternalConstructor для инициализации UNetwork, если нужно
fInternalConstructor
(
&
UNetwork
)
;
// Проверка на успешное извлечение UNetwork
if
(
UNetwork
!=
nullptr
)
{
MessageBox
(
NULL
,
L
"Все данные собраны вход!!!!!"
,
L
""
,
MB_OK
)
;
// Получаем адрес функции RequestAuthLogin
fRequestAuthLogin
=
(
RequestAuthLogin_fn
)
GetProcAddress
(
hEngineModule
,
"?RequestAuthLogin@UNetworkHandler@@UAEHPAG0H@Z"
)
;
// Попытка авторизации
RequestLogin
(
L
"admin"
,
L
"admin"
)
;
}
}
}
}
void
RequestLogin
(
const
wchar_t
*
login
,
const
wchar_t
*
password
)
{
if
(
UNetwork
!=
nullptr
&&
fRequestAuthLogin
!=
nullptr
)
{
MessageBox
(
NULL
,
L
"Попытка входа в игру!"
,
L
""
,
MB_OK
)
;
fRequestAuthLogin
(
UNetwork
,
0
,
login
,
password
,
0
)
;
}
}
DWORD WINAPI
test
(
LPVOID lpParameter
)
{
Sleep
(
7000
)
;
Init
(
)
;
return
0
;
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD  ul_reason_for_call
,
LPVOID lpReserved
)
{
switch
(
ul_reason_for_call
)
{
case
DLL_PROCESS_ATTACH
:
DisableThreadLibraryCalls
(
hModule
)
;
{
HANDLE hThread
=
CreateThread
(
NULL
,
0
,
test
,
NULL
,
0
,
NULL
)
;
if
(
hThread
!=
NULL
)
{
CloseHandle
(
hThread
)
;
}
}
break
;
}
return
TRUE
;
}
Не думаю что так сработает. Вроде смысл в том чтобы перехватывать вызов InternalConstructor и забирать значение UNH, а не самостоятельный вызов этой фунции.
 
Ответить с цитированием

  #26  
Старый 01.11.2024, 17:21
Maksim
Познавший АНТИЧАТ
Регистрация: 31.01.2017
Сообщений: 1,604
С нами: 4885523

Репутация: 1085


По умолчанию

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

Не думаю что так сработает. Вроде смысл в том чтобы перехватывать вызов InternalConstructor и забирать значение UNH, а не самостоятельный вызов этой фунции.
Было бы универсальное решение без поиска оффсета, но вроде в верном направлении.

Где-то упускаю ?
 
Ответить с цитированием

  #27  
Старый 01.11.2024, 17:32
PalevoPWNZ
Участник форума
Регистрация: 31.10.2024
Сообщений: 182
С нами: 809333

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

Цитата:
Сообщение от Спойлер  

Если сделаете для ИТ готов приобрести.
 
Ответить с цитированием

  #28  
Старый 01.11.2024, 17:38
Maksim
Познавший АНТИЧАТ
Регистрация: 31.01.2017
Сообщений: 1,604
С нами: 4885523

Репутация: 1085


По умолчанию

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

Цитата:
Сообщение от Спойлер  

Если сделаете для ИТ готов приобрести.
Так уже, тут вопрос в другом ?
 
Ответить с цитированием

  #29  
Старый 01.11.2024, 19:10
BIT_hack
Постоянный
Регистрация: 12.08.2021
Сообщений: 355
С нами: 2502597

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

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

Так уже, тут вопрос в другом ?
В интерлюдия не нашел такой функции ?InternalConstructor@UNetworkHandler@@SAXPAX@Z
 
Ответить с цитированием

  #30  
Старый 01.11.2024, 19:16
Maksim
Познавший АНТИЧАТ
Регистрация: 31.01.2017
Сообщений: 1,604
С нами: 4885523

Репутация: 1085


По умолчанию

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

В интерлюдия не нашел такой функции ?InternalConstructor@UNetworkHandler@@SAXPAX@Z
Это было взято с публичного поста, на работе не могу посмотреть и проверить.

Если поискать только так должно найти:

Код:


Код:
InternalConstructor@UNetworkHandler
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.