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

  #1  
Старый 19.06.2023, 23:37
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Цитата:
Сообщение от why ega  

Как можно получить указатель на RakPeer, не хукая его методы?
RakNetInterface* - 3550
 
Ответить с цитированием

  #2  
Старый 19.06.2023, 23:49
#Northn
Флудер
Регистрация: 10.08.2017
Сообщений: 2,659
С нами: 4609424

Репутация: 183


По умолчанию

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

RakNetInterface* - 3550
но ракклиент точно не брать из cnetgame, ибо его могут подменить. бери из конструктора ракклиента
 
Ответить с цитированием

  #3  
Старый 20.06.2023, 05:49
0x73616D
Участник форума
Регистрация: 27.05.2021
Сообщений: 140
С нами: 2614229

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

Can someone help me rewrite these snippets in C++? | Может ли кто-нибудь помочь мне переписать эти фрагменты на C++?

CLEO:





Код:
:get_samp_version_id
// 0AB1: @get_samp_version_id 0 _returned: ID 0@
30@
=
0
IF
0AA2:
31@
=
"samp.dll"
// IF and SET
THEN
31@
+=
0x128
0A8D:
29@
= read_memory
31@
size
4
virtual_protect
1
IF
29@
==
0x5542F47A
THEN
// 0.3.7 R1
30@
=
1
END
IF
29@
==
0x59C30C94
THEN
// 0.3.7 R2
30@
=
2
END
IF
29@
==
0x5A6A3130
THEN
// 0.3.DL
30@
=
3
END
31@
-=
8
// reading samp.dll + 0x120
0A8D:
29@
= read_memory
31@
size
4
virtual_protect
1
IF
29@
==
0x5C0B4243
THEN
// 0.3.7 R3
30@
=
4
END
IF
29@
==
0x5DD606CD
THEN
// 0.3.7 R4
30@
=
5
END
IF
29@
==
0x6094ACAB
THEN
// 0.3.7 R4 - v2
30@
=
6
END
IF
29@
==
0x6372C39E
THEN
// 0.3.7 R5
30@
=
7
END
END
0AB2:
ret
1
30@


CLEO:





Код:
:GetLocalPlayerName
{
    0AB1: @GetLocalPlayerName 0 _Returned: NameInIntegerFormat 31@
}
IF
0AA2:
31@
=
"samp.dll"
THEN
0AB1:
@get_samp_version_id
0
_returned: ID
17@
IF
17@
>
0
THEN
IF
17@
==
1
// 0.3.7 R1
THEN
0A8E:
30@
=
31@
+
0x21A0F8
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3CD
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x18
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x13CD0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
2
// 0.3.7 R2
THEN
0A8E:
30@
=
31@
+
0x21A100
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3C5
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x13D90
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
3
// 0.3.DL
THEN
0A8E:
30@
=
31@
+
0x2ACA24
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x170C0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
4
// 0.3.7 R3
THEN
0A8E:
30@
=
31@
+
0x26E8DC
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x16EF0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
5
// 0.3.7 R4
THEN
0A8E:
30@
=
31@
+
0x26EA0C
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x17560
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
6
// 0.3.7 R4 - v2
THEN
0A8E:
30@
=
31@
+
0x26EA0C
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x4
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x175B0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
7
// 0.3.7 R5
THEN
0A8E:
30@
=
31@
+
0x26EB94
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x4
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x175B0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
0AA8:
call_function_method
29@
struct
30@
num_params
0
pop
0
_Returned: Name
28@
/// Returned value is in integer, convert integer to string to get string...
END
END
0AB2:
ret
0
 
Ответить с цитированием

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

Репутация: 153


По умолчанию

Цитата:
Сообщение от !Sam#0235  

Can someone help me rewrite these snippets in C++? | Может ли кто-нибудь помочь мне переписать эти фрагменты на C++?

CLEO:





Код:
:get_samp_version_id
// 0AB1: @get_samp_version_id 0 _returned: ID 0@
30@
=
0
IF
0AA2:
31@
=
"samp.dll"
// IF and SET
THEN
31@
+=
0x128
0A8D:
29@
= read_memory
31@
size
4
virtual_protect
1
IF
29@
==
0x5542F47A
THEN
// 0.3.7 R1
30@
=
1
END
IF
29@
==
0x59C30C94
THEN
// 0.3.7 R2
30@
=
2
END
IF
29@
==
0x5A6A3130
THEN
// 0.3.DL
30@
=
3
END
31@
-=
8
// reading samp.dll + 0x120
0A8D:
29@
= read_memory
31@
size
4
virtual_protect
1
IF
29@
==
0x5C0B4243
THEN
// 0.3.7 R3
30@
=
4
END
IF
29@
==
0x5DD606CD
THEN
// 0.3.7 R4
30@
=
5
END
IF
29@
==
0x6094ACAB
THEN
// 0.3.7 R4 - v2
30@
=
6
END
IF
29@
==
0x6372C39E
THEN
// 0.3.7 R5
30@
=
7
END
END
0AB2:
ret
1
30@


CLEO:





Код:
:GetLocalPlayerName
{
    0AB1: @GetLocalPlayerName 0 _Returned: NameInIntegerFormat 31@
}
IF
0AA2:
31@
=
"samp.dll"
THEN
0AB1:
@get_samp_version_id
0
_returned: ID
17@
IF
17@
>
0
THEN
IF
17@
==
1
// 0.3.7 R1
THEN
0A8E:
30@
=
31@
+
0x21A0F8
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3CD
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x18
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x13CD0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
2
// 0.3.7 R2
THEN
0A8E:
30@
=
31@
+
0x21A100
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3C5
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x13D90
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
3
// 0.3.DL
THEN
0A8E:
30@
=
31@
+
0x2ACA24
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x170C0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
4
// 0.3.7 R3
THEN
0A8E:
30@
=
31@
+
0x26E8DC
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x16EF0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
5
// 0.3.7 R4
THEN
0A8E:
30@
=
31@
+
0x26EA0C
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x8
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x17560
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
6
// 0.3.7 R4 - v2
THEN
0A8E:
30@
=
31@
+
0x26EA0C
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x4
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x175B0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
IF
17@
==
7
// 0.3.7 R5
THEN
0A8E:
30@
=
31@
+
0x26EB94
// SAMP_INFO_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x3DE
// SAMP_PPOOLS_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
30@
+=
0x4
// SAMP_PPOOL_PLAYER_OFFSET
0A8D:
30@
= readMem
30@
sz
4
vp
0
0A8E:
29@
=
31@
+
0x175B0
// SAMP_GET_LOCAL_PLAYER_NAME_OFFSET
END
0AA8:
call_function_method
29@
struct
30@
num_params
0
pop
0
_Returned: Name
28@
/// Returned value is in integer, convert integer to string to get string...
END
END
0AB2:
ret
0

Это не идеальный код но для примера сойдет. Другую функцию можно по аналогии сделать.

C++:





Код:
int
get_samp_version_id
(
void
)
{
DWORD version_current
=
0
;
DWORD samp_base
=
GetModuleHandle
(
"samp.dll"
)
;
if
(
samp_base
)
{
DWORD version_id
=
*
(
DWORD
*
)
(
samp_base
+
0x128
)
;
switch
(
version_id
)
{
case
0x5542F47A
:
// R1
version_current
=
1
;
break
;
case
0x59C30C94
:
// R2
version_current
=
2
;
break
;
case
0x5A6A3130
:
// DL
version_current
=
3
;
break
;
}
version_id
=
*
(
DWORD
*
)
(
samp_base
+
0x120
)
;
switch
(
version_id
)
{
case
0x5C0B4243
:
// R3
version_current
=
4
;
break
;
case
0x5DD606CD
:
// R4 - v1
version_current
=
5
;
break
;
case
0x6094ACAB
:
// R4 - v2
version_current
=
6
;
break
;
case
0x6372C39E
:
// R5
version_current
=
7
;
break
;
}
}
return
version_id
;
}
 
Ответить с цитированием

  #5  
Старый 21.06.2023, 02:01
ччбчлчлчъ ччччшчьпьппзвжв
Постоянный
Регистрация: 16.08.2020
Сообщений: 553
С нами: 3022568

Репутация: 68


По умолчанию

Кто сможет помочь, почему не может установится хук, выводит мне: Ошибка установки хука: 1428, запускаю от имени администратора, антивируса нету, в чем может быть проблема? мб настройка проекта

C++:





[CODE]
#include
#include
#include
using
namespace
std
;
LRESULT CALLBACK
HookProcedure
(
int
nCode
,
WPARAM wParam
,
LPARAM lParam
)
{
if
(
nCode
==
HSHELL_WINDOWCREATED
)
{
HWND hwnd
=
(
HWND
)
lParam
;
char
title
[
1024
]
;
GetWindowTextA
(
hwnd
,
title
,
sizeof
(
title
)
)
;
cout



другие хуки работают, особенно те которые не требуют прав администратора, к примеру этот код работает

C++:





[CODE]
#include
#include
#include
using
namespace
std
;
LRESULT CALLBACK
HookProcedure
(
int
nCode
,
WPARAM wParam
,
LPARAM lParam
)
{
if
(
nCode
==
HC_ACTION
)
{
switch
(
wParam
)
{
case
WM_LBUTTONDOWN
:
cout



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

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

Репутация: 183


По умолчанию

[QUOTE="ччбчлчлчъ ччччшчьпьппзвжв"]

Кто сможет помочь, почему не может установится хук, выводит мне: Ошибка установки хука: 1428, запускаю от имени администратора, антивируса нету, в чем может быть проблема? мб настройка проекта

C++:





[CODE]
#include
#include
#include
using
namespace
std
;
LRESULT CALLBACK
HookProcedure
(
int
nCode
,
WPARAM wParam
,
LPARAM lParam
)
{
if
(
nCode
==
HSHELL_WINDOWCREATED
)
{
HWND hwnd
=
(
HWND
)
lParam
;
char
title
[
1024
]
;
GetWindowTextA
(
hwnd
,
title
,
sizeof
(
title
)
)
;
cout

#include
#include
using
namespace
std
;
LRESULT CALLBACK
HookProcedure
(
int
nCode
,
WPARAM wParam
,
LPARAM lParam
)
{
if
(
nCode
==
HC_ACTION
)
{
switch
(
wParam
)
{
case
WM_LBUTTONDOWN
:
cout
 
Ответить с цитированием

  #7  
Старый 21.06.2023, 12:58
ччбчлчлчъ ччччшчьпьппзвжв
Постоянный
Регистрация: 16.08.2020
Сообщений: 553
С нами: 3022568

Репутация: 68


По умолчанию

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

Я конечно не уверен, но почему у тебя HWND это просто скащеный lParam? HWND является же первым аргументом wndProc'а
это не решает проблему

C++:





[CODE]
#include
#include
#include
using
namespace
std
;
HHOOK hHook
;
LRESULT CALLBACK
HookProcedure
(
int
nCode
,
WPARAM wParam
,
LPARAM lParam
)
{
cout



изменил прогу, теперь при запуске проги, пишет что хук установлен, только при запуске программ ничего не выводится в консоль, и отладочная строчка не появляется cout
 
Ответить с цитированием

  #8  
Старый 25.06.2023, 23:25
ччбчлчлчъ ччччшчьпьппзвжв
Постоянный
Регистрация: 16.08.2020
Сообщений: 553
С нами: 3022568

Репутация: 68


По умолчанию

[QUOTE="ччбчлчлчъ ччччшчьпьппзвжв"]

это не решает проблему

C++:





[CODE]
#include
#include
#include
using
namespace
std
;
HHOOK hHook
;
LRESULT CALLBACK
HookProcedure
(
int
nCode
,
WPARAM wParam
,
LPARAM lParam
)
{
cout
 
Ответить с цитированием

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

Репутация: 183


По умолчанию

Цитата:
Сообщение от ччбчлчлчъ ччччшчьпьппзвжв  

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

  #10  
Старый 22.06.2023, 20:17
Young123
Новичок
Регистрация: 08.10.2022
Сообщений: 10
С нами: 1895177

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

Как выделить активные кнопки в ImGui?

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





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


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




ANTICHAT ™ © 2001- Antichat Kft.