 |
|

26.04.2020, 22:51
|
|
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами:
4633764
Репутация:
148
|
|
[QUOTE="Warflex"]
Изучаю тут с++, столкнулся с проблемой обычного калькулятора
C++:
[CODE]
int
main
(
)
{
int
num1
,
num2
,
num3
;
cin
>>
num1
;
cout
>
num2
;
num3
=
sum1
+
sum2
;
cout
|
|
|

26.04.2020, 23:25
|
|
Участник форума
Регистрация: 15.07.2019
Сообщений: 158
С нами:
3596102
Репутация:
18
|
|
C++:
[CODE]
int
main
(
)
{
int
num1
,
num2
,
sum
;
int
simb
;
cin
>>
num1
;
cin
>>
simb
;
cin
>>
num2
;
sum
=
num1
simb - знак переменная, как его правильно выразить?
|
|
|

27.04.2020, 15:50
|
|
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами:
4633764
Репутация:
148
|
|
поставил простой хук на RPC Create3d text label, чтоб он перезаписывал дистанцию видимости, но почемуто крашит
C++:
Код:
bool
CALLBACK
incRPC
(
stRakNetHookParams
*
p
)
{
if
(
bDistUp
)
{
if
(
p
->
packetId
==
RPC_ScrCreate3DTextLabel
)
{
float
dist
;
p
->
bitStream
->
SetReadOffset
(
144
)
;
p
->
bitStream
->
Read
(
dist
)
;
p
->
bitStream
->
ResetReadPointer
(
)
;
if
(
dist
==
5.0
)
{
p
->
bitStream
->
SetWriteOffset
(
144
)
;
dist
=
15.0
;
p
->
bitStream
->
Write
(
dist
)
;
p
->
bitStream
->
ResetWritePointer
(
)
;
}
}
}
return
true
;
}
почему то затирает всё после дистанции, ну чо за приколы
C++:
Код:
bool
CALLBACK
rpchook
(
stRakNetHookParams
*
p
)
{
if
(
p
->
packetId
==
RPC_ScrCreate3DTextLabel
)
{
p
->
bitStream
->
SetWriteOffset
(
144
)
;
p
->
bitStream
->
Write
(
(
float
)
15.0
)
;
}
return
true
;
}
|
|
|

29.04.2020, 17:51
|
|
Новичок
Регистрация: 21.03.2020
Сообщений: 17
С нами:
3235828
Репутация:
3
|
|
|
|
|

30.04.2020, 20:45
|
|
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами:
4633764
Репутация:
148
|
|
возможно ли сделать невидимый на фрапсе вх на SF, рисуя через методы SF.getRender?
я пытался через vmthookmanager хукать девайс который создавал для созданного окна, но крашило
по тупому я делал както
|
|
|

01.05.2020, 08:12
|
|
Новичок
Регистрация: 16.06.2010
Сообщений: 0
С нами:
8370833
Репутация:
0
|
|
if (params->packetId == 151) 151 incoming rpc, можно его полное название?
|
|
|

01.05.2020, 08:16
|
|
Постоянный
Регистрация: 21.11.2014
Сообщений: 540
С нами:
6039222
Репутация:
163
|
|
Сообщение от Blood
if (params->packetId == 151) 151 incoming rpc, можно его полное название?
RPC_151= RPC_ScrDestroyPickups
|
|
|

03.05.2020, 00:49
|
|
Участник форума
Регистрация: 14.04.2018
Сообщений: 122
С нами:
4254200
Репутация:
98
|
|
Ошибка LNK2019 ссылка на неразрешенный внешний символ "extern "C" struct HDC__ * __stdcall GetDC(struct HWND__ *)" (?GetDC@@$$J14YGPAUHDC__@@PAUHWND__@@@Z) в функции "void __clrcall `dynamic initializer for 'hdc''(void)" (???__Ehdc@@YMXXZ@?A0xa98138a8@@$$FYMXXZ)
Юникод на многобайтовую кодировку менял, не помогло. На странице ошибки слишком размыто и инфы конкретной я не нашел
Memory.h:
Код:
#include
#include
#include
#include
#include
DWORD
GetProcId
(
const
char
*
procName
)
{
DWORD procId
=
0
;
HANDLE hSnap
=
CreateToolhelp32Snapshot
(
TH32CS_SNAPPROCESS
,
0
)
;
if
(
hSnap
!=
INVALID_HANDLE_VALUE
)
{
PROCESSENTRY32 procEntry
;
procEntry
.
dwSize
=
sizeof
(
procEntry
)
;
if
(
Process32First
(
hSnap
,
&
procEntry
)
)
{
do
{
if
(
!
strcmp
(
procEntry
.
szExeFile
,
procName
)
)
{
procId
=
procEntry
.
th32ProcessID
;
break
;
}
}
while
(
Process32Next
(
hSnap
,
&
procEntry
)
)
;
}
}
CloseHandle
(
hSnap
)
;
return
procId
;
}
uintptr_t
GetModuleBaseAddress
(
DWORD procId
,
const
char
*
modName
)
{
uintptr_t modBaseAddr
=
0
;
HANDLE hSnap
=
CreateToolhelp32Snapshot
(
TH32CS_SNAPMODULE
|
TH32CS_SNAPMODULE32
,
procId
)
;
if
(
hSnap
!=
INVALID_HANDLE_VALUE
)
{
MODULEENTRY32 modEntry
;
modEntry
.
dwSize
=
sizeof
(
modEntry
)
;
if
(
Module32First
(
hSnap
,
&
modEntry
)
)
{
do
{
if
(
!
strcmp
(
modEntry
.
szModule
,
modName
)
)
{
modBaseAddr
=
(
uintptr_t
)
modEntry
.
modBaseAddr
;
break
;
}
}
while
(
Module32Next
(
hSnap
,
&
modEntry
)
)
;
}
}
CloseHandle
(
hSnap
)
;
return
modBaseAddr
;
}
uintptr_t moduleBase
=
GetModuleBaseAddress
(
GetProcId
(
"gta_sa.exe"
)
,
"samp.dll"
)
;
HANDLE hProcess
=
OpenProcess
(
PROCESS_ALL_ACCESS
,
NULL
,
GetProcId
(
"gta_sa.exe"
)
)
;
HDC hdc
=
GetDC
(
FindWindowA
(
NULL
,
"GTA:SA:MP"
)
)
;
template
T
RPM
(
SIZE_T address
)
{
T buffer
;
ReadProcessMemory
(
hProcess
,
(
LPCVOID
)
address
,
&
buffer
,
sizeof
(
T
)
,
NULL
)
;
return
buffer
;
}
|
|
|

03.05.2020, 01:11
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от T4yz1e
Ошибка LNK2019 ссылка на неразрешенный внешний символ "extern "C" struct HDC__ * __stdcall GetDC(struct HWND__ *)" (?GetDC@@$$J14YGPAUHDC__@@PAUHWND__@@@Z) в функции "void __clrcall `dynamic initializer for 'hdc''(void)" (???__Ehdc@@YMXXZ@?A0xa98138a8@@$$FYMXXZ)
Юникод на многобайтовую кодировку менял, не помогло. На странице ошибки слишком размыто и инфы конкретной я не нашел
Memory.h:
Код:
#include
#include
#include
#include
#include
DWORD
GetProcId
(
const
char
*
procName
)
{
DWORD procId
=
0
;
HANDLE hSnap
=
CreateToolhelp32Snapshot
(
TH32CS_SNAPPROCESS
,
0
)
;
if
(
hSnap
!=
INVALID_HANDLE_VALUE
)
{
PROCESSENTRY32 procEntry
;
procEntry
.
dwSize
=
sizeof
(
procEntry
)
;
if
(
Process32First
(
hSnap
,
&
procEntry
)
)
{
do
{
if
(
!
strcmp
(
procEntry
.
szExeFile
,
procName
)
)
{
procId
=
procEntry
.
th32ProcessID
;
break
;
}
}
while
(
Process32Next
(
hSnap
,
&
procEntry
)
)
;
}
}
CloseHandle
(
hSnap
)
;
return
procId
;
}
uintptr_t
GetModuleBaseAddress
(
DWORD procId
,
const
char
*
modName
)
{
uintptr_t modBaseAddr
=
0
;
HANDLE hSnap
=
CreateToolhelp32Snapshot
(
TH32CS_SNAPMODULE
|
TH32CS_SNAPMODULE32
,
procId
)
;
if
(
hSnap
!=
INVALID_HANDLE_VALUE
)
{
MODULEENTRY32 modEntry
;
modEntry
.
dwSize
=
sizeof
(
modEntry
)
;
if
(
Module32First
(
hSnap
,
&
modEntry
)
)
{
do
{
if
(
!
strcmp
(
modEntry
.
szModule
,
modName
)
)
{
modBaseAddr
=
(
uintptr_t
)
modEntry
.
modBaseAddr
;
break
;
}
}
while
(
Module32Next
(
hSnap
,
&
modEntry
)
)
;
}
}
CloseHandle
(
hSnap
)
;
return
modBaseAddr
;
}
uintptr_t moduleBase
=
GetModuleBaseAddress
(
GetProcId
(
"gta_sa.exe"
)
,
"samp.dll"
)
;
HANDLE hProcess
=
OpenProcess
(
PROCESS_ALL_ACCESS
,
NULL
,
GetProcId
(
"gta_sa.exe"
)
)
;
HDC hdc
=
GetDC
(
FindWindowA
(
NULL
,
"GTA:SA:MP"
)
)
;
template
T
RPM
(
SIZE_T address
)
{
T buffer
;
ReadProcessMemory
(
hProcess
,
(
LPCVOID
)
address
,
&
buffer
,
sizeof
(
T
)
,
NULL
)
;
return
buffer
;
}
dbghelp и gdi32 в линкере подключи
|
|
|

03.05.2020, 10:59
|
|
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами:
4472205
Репутация:
163
|
|
GetDC function (winuser.h) - Win32 apps
The GetDC function retrieves a handle to a device context (DC) for the client area of a specified window or for the entire screen.
docs.microsoft.com
C++:
Код:
#pragma comment(lib, "User32.lib")
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|