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

  #4991  
Старый 09.12.2020, 09:49
CleanLegend
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами: 6908018

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

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

Как проверить, запущен ли определенный процесс в диспетчере задач?
сканить все процессы через: Process32First и Process32Next.

если нужно именно работать с диспетчером, то инжектишь туда dll и уже хукаешь эти функции в нём.
 
Ответить с цитированием

  #4992  
Старый 10.12.2020, 17:36
dekname
Познающий
Регистрация: 19.11.2020
Сообщений: 44
С нами: 2885808

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

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

Действительно, делай static
Цитата:
Сообщение от Спойлер  

Ебани __cdecl метод, дальше в тханке пушь указатель на свой объект, делай call на обработчик, затем вытаскивай запушеные четыре байта, ретайся (первым аргументом в обработчике придется сделать адрес возврата).
Цитата:
допустим callback я сделал для команды, но теперь мне нужен обработчик всех команд (detour по адресу base + 0x65A70). Т.е:

C++:





Код:
CMDPROC CInput
::
GetCommandHandler
(
const
char
*
pName
)
{
return
(
(
CMDPROC
(
__thiscall
*
)
(
CInput
*
,
const
char
*
)
)
GetAddress
(
0x65A70
)
)
(
this
,
pName
)
;
}


Сделал я так (для регистрации команд):

C++:





Код:
std
::
memcpy
(
&
m_thunk
[
12
]
,
"\x55\x89\xe5\xff\x75\x08\xb9????\xb8????\xff\xd0\xc9\xc3"
,
20
)
;
*
(
uintptr_t
*
)
&
m_thunk
[
19
]
=
(
uintptr_t
)
this
;
*
(
uintptr_t
*
)
&
m_thunk
[
24
]
=
m_union_cmd_callback
.
addr_as_uint64
;
m_input
->
AddCommand
(
"somecommand"
,
(
sampapi
::
CMDPROC
)
&
m_thunk
[
12
]
)
;
 
Ответить с цитированием

  #4993  
Старый 13.12.2020, 23:23
Artem90
Новичок
Регистрация: 12.06.2010
Сообщений: 0
С нами: 8376981

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

1.Ваш вопрос : Как можно после загрузки игры отключить raknet или сделать так чтоб не подключался к серверу необходимое количество времени
 
Ответить с цитированием

  #4994  
Старый 14.12.2020, 00:04
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

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

1.Ваш вопрос : Как можно после загрузки игры отключить raknet или сделать так чтоб не подключался к серверу необходимое количество времени
Можно попробовать хукнуть функцию отправки через сокет(sendto или send), и отклонять отправку, пока не прошло необходимое кол-во времени.
 
Ответить с цитированием

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

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

После инициализации имгуи, вечно рисуется курсор (курсор винды)

C++:





Код:
ImGui
::
CreateContext
(
)
;
ImGuiIO
&
io
=
ImGui
::
GetIO
(
)
;
io
.
Fonts
->
AddFontFromFileTTF
(
"C:\\Windows\\Fonts\\Arial.ttf"
,
16
,
NULL
,
ImGui
::
GetIO
(
)
.
Fonts
->
GetGlyphRangesCyrillic
(
)
)
;
(
void
)
io
;
ImGui_ImplWin32_Init
(
GetActiveWindow
(
)
)
;
ImGui_ImplDX9_Init
(
pDevice
)
;


пробовать отключать через

C++:





Код:
ImGui
::
GetIO
(
)
.
MouseDrawCursor
=
0
;


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

  #4996  
Старый 18.12.2020, 02:18
Romelo
Постоянный
Регистрация: 21.11.2014
Сообщений: 540
С нами: 6039222

Репутация: 163


По умолчанию

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

После инициализации имгуи, вечно рисуется курсор (курсор винды)

C++:





Код:
ImGui
::
CreateContext
(
)
;
ImGuiIO
&
io
=
ImGui
::
GetIO
(
)
;
io
.
Fonts
->
AddFontFromFileTTF
(
"C:\\Windows\\Fonts\\Arial.ttf"
,
16
,
NULL
,
ImGui
::
GetIO
(
)
.
Fonts
->
GetGlyphRangesCyrillic
(
)
)
;
(
void
)
io
;
ImGui_ImplWin32_Init
(
GetActiveWindow
(
)
)
;
ImGui_ImplDX9_Init
(
pDevice
)
;


пробовать отключать через

C++:





Код:
ImGui
::
GetIO
(
)
.
MouseDrawCursor
=
0
;


не помогло
C++:





Код:
io
.
ConfigFlags
|=
ImGuiConfigFlags_NoMouseCursorChange
;
 
Ответить с цитированием

  #4997  
Старый 23.12.2020, 01:38
manukhov
Участник форума
Регистрация: 14.04.2018
Сообщений: 122
С нами: 4254200

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

Вот если в процессе два .dll модуля с одинаковым названием, как можно получить оба? По хэндлу все время только 1
 
Ответить с цитированием

  #4998  
Старый 24.12.2020, 15:09
AdCKuY_DpO4uLa
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами: 4091290

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

у меня есть структура PlayerPool для R1

C++:





Код:
struct
stPlayerPool
{
uint32_t
MaxPlayerID
;
//???? not tested
uint16_t
sLocalPlayerID
;
void
*
pVTBL_txtHandler
;
union
{
char
szLocalPlayerName
[
16
]
;
char
*
pszLocalPlayerName
;
}
;
int
iLocalPlayerNameLen
;
int
iLocalPlayerNameAllocated
;
struct
stLocalPlayer
*
pLocalPlayer
;
int
iLocalPlayerPing
;
int
iLocalPlayerScore
;
struct
stRemotePlayer
*
pRemotePlayer
[
SAMP_MAX_PLAYERS
]
;
int
iIsListed
[
SAMP_MAX_PLAYERS
]
;
uint32_t
ulUnk1
[
SAMP_MAX_PLAYERS
]
;
}


можете дать такую же структуру, но для R3?
 
Ответить с цитированием

  #4999  
Старый 24.12.2020, 15:28
RazorRw
Флудер
Регистрация: 16.09.2019
Сообщений: 2,013
С нами: 3505395

Репутация: 183


По умолчанию

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

у меня есть структура PlayerPool для R1

C++:





Код:
struct
stPlayerPool
{
uint32_t
MaxPlayerID
;
//???? not tested
uint16_t
sLocalPlayerID
;
void
*
pVTBL_txtHandler
;
union
{
char
szLocalPlayerName
[
16
]
;
char
*
pszLocalPlayerName
;
}
;
int
iLocalPlayerNameLen
;
int
iLocalPlayerNameAllocated
;
struct
stLocalPlayer
*
pLocalPlayer
;
int
iLocalPlayerPing
;
int
iLocalPlayerScore
;
struct
stRemotePlayer
*
pRemotePlayer
[
SAMP_MAX_PLAYERS
]
;
int
iIsListed
[
SAMP_MAX_PLAYERS
]
;
uint32_t
ulUnk1
[
SAMP_MAX_PLAYERS
]
;
}


можете дать такую же структуру, но для R3?
C++:





Код:
enum
{
MAX_PLAYERS
=
1004
}
;
int
m_nLargestId
;
CPlayerInfo
*
m_pObject
[
MAX_PLAYERS
]
;
BOOL         m_bNotEmpty
[
MAX_PLAYERS
]
;
BOOL         m_bPrevCollisionFlag
[
MAX_PLAYERS
]
;
struct
SAMPAPI_EXPORT
{
int
m_nPing
;
int
m_nScore
;
ID  m_nId
;
std
::
string   m_szName
;
CLocalPlayer
*
m_pObject
;
}
m_localInfo
;
 
Ответить с цитированием

  #5000  
Старый 24.12.2020, 15:52
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Цитата:
Сообщение от S E V E N  

C++:





Код:
enum
{
MAX_PLAYERS
=
1004
}
;
int
m_nLargestId
;
CPlayerInfo
*
m_pObject
[
MAX_PLAYERS
]
;
BOOL         m_bNotEmpty
[
MAX_PLAYERS
]
;
BOOL         m_bPrevCollisionFlag
[
MAX_PLAYERS
]
;
struct
SAMPAPI_EXPORT
{
int
m_nPing
;
int
m_nScore
;
ID  m_nId
;
std
::
string   m_szName
;
CLocalPlayer
*
m_pObject
;
}
m_localInfo
;

C++:





Код:
struct
SAMPAPI_EXPORT
{
int
m_nPing
;
int
m_nScore
;
ID  m_nId
;
#ifndef _DEBUG
private
:
int
__alignment
;
public
:
#endif
std
::
string   m_szName
;
CLocalPlayer
*
m_pObject
;
}
m_localInfo
;
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.