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

  #4061  
Старый 02.10.2019, 02:03
Cake_
Участник форума
Регистрация: 04.04.2017
Сообщений: 263
С нами: 4793630

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

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

Если ее юзать то выдает ошибку - значение типа "HMODULE" нельзя использовать для инициализации сущности типа "DWORD" .

Отрывок из main.h:





Код:
float* KZ = (float*)(("samp.dll") + 0x38A888);


= так тоже не хочет , и если вроде как прочитать тоже не получатся .
C++:





Код:
DWORD dwSamp
=
(
DWORD
)
GetModuleHandle
(
L
"samp.dll"
)
;
DWORD var
=
(
DWORD
)
(
dwSamp
+
0x000
)
;
 
Ответить с цитированием

  #4062  
Старый 08.10.2019, 21:40
0xNull_Dll
Участник форума
Регистрация: 10.07.2018
Сообщений: 143
С нами: 4128555

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

Слушайте, такое дело:

Есть кастомный самп клиент, там оффсеты другие (луашные методы, связанные с сампом там не работают)

Нужно как-то ловить функцию SetPlayerHealth (0x15BA0) и игнорировать её посредством чтения памяти, а не какими-либо готовыми функциями sampfuncs'a или луа.

Как это можно сделать?

Как я понял, сначала нужно взять хэндл dll'а сампа

GetModuleHandle(L"samp.dll");

И к этому значению прибавить 0x15BA0?

Как это вообще работает?
 
Ответить с цитированием

  #4063  
Старый 08.10.2019, 22:21
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Советую уйти в RakPeer и RakClient хуки. ПО твоей теме пару страниц назад уже был подобный вопрос.
 
Ответить с цитированием

  #4064  
Старый 08.10.2019, 22:23
_=Gigant=_
Участник форума
Регистрация: 19.01.2017
Сообщений: 130
С нами: 4901705

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

are there any tutorials on how to find this SAMP_CMP "F8036A004050518D4C24" ?
 
Ответить с цитированием

  #4065  
Старый 08.10.2019, 22:39
index
Новичок
Регистрация: 18.10.2015
Сообщений: 6
С нами: 5563739

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

Цитата:
Сообщение от _=Gigant=_  

are there any tutorials on how to find this SAMP_CMP "F8036A004050518D4C24" ?
 
Ответить с цитированием

  #4066  
Старый 10.10.2019, 10:33
_Vine_
Участник форума
Регистрация: 06.01.2016
Сообщений: 154
С нами: 5447649

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

Цитата:
Сообщение от 0xNull_Dll  

Слушайте, такое дело:

Есть кастомный самп клиент, там оффсеты другие (луашные методы, связанные с сампом там не работают)

Нужно как-то ловить функцию SetPlayerHealth (0x15BA0) и игнорировать её посредством чтения памяти, а не какими-либо готовыми функциями sampfuncs'a или луа.

Как это можно сделать?

Как я понял, сначала нужно взять хэндл dll'а сампа
GetModuleHandle(L"samp.dll");

И к этому значению прибавить 0x15BA0?

Как это вообще работает?
Как вариант, в Cheat Engine поставить брейкпоинт на запись в адрес здоровья игрока, заставить сервер вызвать SetPlayerHealth, найти место где устанавливается хп, это и будет функция SetPlayerHealth. Для нопа функции в ее начале установить байты C2 04 00
 
Ответить с цитированием

  #4067  
Старый 14.10.2019, 00:19
Stiopko
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами: 4319022

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

Помомогите пожалуйста с опредением загруженого модуля(сф плагина) в гташку?

Так как название файла сф плагина можна пожно изменить я написал функцию которая по идее должна определять загружен ли плагин в игру или нет, название плагина CMDHelper.sf

я хотел делать так если в памяти выделенной под модуль есть определенная строка то это тот модуль который мне нужен, но не не работает

C++:





Код:
#define CMDHELPER_CHECK 0x172C8
HANDLE CmdEdit
::
CheckCMDHelperHANDLE
(
)
{
static
const
char
*
checkStr
=
"{FFA0661D}[blast.hk] {FFFFFF}CMD helper by {FFA0661D}MISTER_GONWIK"
;
HANDLE hProcess
;
HMODULE hMods
[
1024
]
;
DWORD cbNeeded
;
hProcess
=
GetCurrentProcess
(
)
;
if
(
NULL
==
hProcess
)
return
NULL
;
HMODULE ret
=
NULL
;
if
(
K32EnumProcessModules
(
hProcess
,
hMods
,
sizeof
(
hMods
)
,
&
cbNeeded
)
!=
NULL
)
{
DWORD dwProt
;
MODULEINFO module_info
;
MEMORY_BASIC_INFORMATION mem_info
;
TCHAR szModName
[
MAX_PATH
]
;
DWORD base
;
for
(
int
i
=
0
;
i

CMDHELPER_CHECK
+
strlen
(
checkStr
)
+
1
)
{
if
(
VirtualQuery
(
(
void
*
)
(
base
+
CMDHELPER_CHECK
)
,
&
mem_info
,
sizeof
(
mem_info
)
)
!=
NULL
)
{
if
(
mem_info
.
Protect
==
PAGE_READONLY
&&
(
DWORD
)
mem_info
.
AllocationBase
+
mem_info
.
RegionSize
>
base
+
CMDHELPER_CHECK
+
strlen
(
checkStr
)
+
1
)
{
if
(
!
strcmp
(
(
const
char
*
)
(
hMods
[
i
]
+
CMDHELPER_CHECK
)
,
checkStr
)
)
ret
=
hMods
[
i
]
;
else
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"INC STR %s"
,
szModName
)
;
}
}
else
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"ERR %s (0x%08X) %u"
,
szModName
,
hMods
[
i
]
,
GetLastError
(
)
)
;
}
}
}
CloseHandle
(
hProcess
)
;
return
ret
;
}
 
Ответить с цитированием

  #4068  
Старый 14.10.2019, 00:30
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Я что-то не понял. Что ты конкретно хочешь сделать?
 
Ответить с цитированием

  #4069  
Старый 14.10.2019, 00:33
Stiopko
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами: 4319022

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

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

Я что-то не понял. Что ты конкретно хочешь сделать?
я хочу определить загружен ли в игру определенный плагин, но не по его названию а по его внутренностям, ну типа плагин+оффсет и по этому адресу должна быть определенная строчка если это так, то плагин загружен
 
Ответить с цитированием

  #4070  
Старый 14.10.2019, 00:49
SiTrak
Участник форума
Регистрация: 14.01.2018
Сообщений: 192
С нами: 4384333

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

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

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





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...