 |
|

06.05.2020, 14:01
|
|
Постоянный
Регистрация: 18.03.2017
Сообщений: 410
С нами:
4818548
Репутация:
133
|
|
Сообщение от T4yz1e
Я щас как ебучий абориген, которому показали зажигалку. Как этим пользоваться? Я что-то написал, исходя из инфы на странице этой функции msoft, но я ничего не понимаю. Подскажи, пожалуйста, как мне юзать это ?
Ну для начала я не вижу где ты получаешь hProcess
C++:
Код:
DWORD procId
=
GetProcId
(
L
"gta-sa.exe"
)
;
if
(
procId
==
NULL
)
return
;
HANDLE hProcess
=
OpenProcess
(
PROCESS_ALL_ACCESS
,
FALSE
,
procId
)
;
if
(
hProc
==
INVALID_HANDLE_VALUE
)
return
;
По поводу virtualprotectex, то используется обычно для записи, выглядит примерно так
C++:
Код:
xw
=
(
float
)
x
+
2
*
(
float
)
cos
(
angle
+
1.48353F
)
;
DWORD oldProt
;
VirtualProtectEx
(
hProcess
,
(
void
*
)
(
pMtrx2
+
0x30
)
,
sizeof
(
xw
)
,
PAGE_EXECUTE_READWRITE
,
&
oldProt
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
(
pMtrx2
+
0x30
)
,
&
xw
,
sizeof
(
xw
)
,
0
)
;
VirtualProtectEx
(
hProcess
,
(
void
*
)
(
pMtrx2
+
0x30
)
,
sizeof
(
xw
)
,
oldProt
,
NULL
)
;
В конце всех твоих манипуляций не забудь прописать
C++:
Код:
CloseHandle
(
hProcess
)
;
|
|
|

08.05.2020, 00:30
|
|
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами:
4633764
Репутация:
148
|
|
Как сделать чтоб русский текст из imgui::InputText в чат выводился нормальным а не каракулями
|
|
|

08.05.2020, 22:47
|
|
Участник форума
Регистрация: 28.08.2016
Сообщений: 183
С нами:
5109543
Репутация:
33
|
|
Протект снял - записал - вернул
|
|
|

09.05.2020, 00:11
|
|
Постоянный
Регистрация: 18.03.2017
Сообщений: 410
С нами:
4818548
Репутация:
133
|
|
Сообщение от T4yz1e
Переделал AntiBikeFall (ремень) internal в external. В принципе, он работает. Однако при столкновении на большой скорости игра крашит.
В чем может быть проблема?
Ты не правильно перевел даже близко, оно не могло работать(если говоришь "В принципе, он работает", то ты не набрал достаточную скорость чтобы сработала функция падения), почитай что делает
C++:
Код:
*
(
BYTE
*
)
0x4BA3B9
=
0xE9
;
и что
C++:
Код:
memset
(
(
PVOID
)
0x4BA3BC
,
0x00
,
2
)
;
и параметры функции WriteProcessMemory
Я вижу что ты на рандоме пишешь - а вдруг сработает...
|
|
|

09.05.2020, 02:02
|
|
Постоянный
Регистрация: 18.03.2017
Сообщений: 410
С нами:
4818548
Репутация:
133
|
|
Сообщение от T4yz1e
Есть такое)
memset использовать не могу:
BYTE использовать не могу:
Тебе и не нужно их использовать, ты должен знать что они делают, а ты не знаешь. Вот пример(с мемсет такой же код)
C++:
Код:
int
bufMoney
=
444
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
0xB7CE50
,
&
bufMoney
,
4
/*sizeof(DWORD)*/
,
nullptr
)
;
//*(*DWORD)0xB7CE50 = 444
|
|
|

09.05.2020, 02:38
|
|
Участник форума
Регистрация: 14.01.2018
Сообщений: 192
С нами:
4384333
Репутация:
113
|
|
Сообщение от loganhackerdff
Как сделать чтоб русский текст из imgui::InputText в чат выводился нормальным а не каракулями
#pragma execution_character_set("utf-8")
|
|
|

09.05.2020, 02:48
|
|
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами:
4633764
Репутация:
148
|
|
Сообщение от SiTrak
#pragma execution_character_set("utf-8")
Хз поможет ли это но я уже сделал
|
|
|

09.05.2020, 04:45
|
|
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами:
4472205
Репутация:
163
|
|
Сообщение от T4yz1e
Переделал AntiBikeFall (ремень) internal в external. В принципе, он работает. Однако при столкновении на большой скорости игра крашит.
В чем может быть проблема?
C++:
Код:
VirtualProtect
(
(
PVOID
)
0x4BA3B9
,
6
,
PAGE_EXECUTE_READWRITE
,
NULL
)
;
VirtualProtect
(
(
PVOID
)
0x4B3296
,
3
,
PAGE_EXECUTE_READWRITE
,
NULL
)
;
DWORD one
=
0x4BA3B9
;
DWORD two
=
0x4BA3BA
;
DWORD three
=
0x4BA3BB
;
DWORD four
=
0x4BA3BF
;
DWORD five
=
0x4BA3BC
;
DWORD six
=
0x4B3296
;
one
=
0xE9
;
two
=
0xA7
;
three
=
0x03
;
ReadProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3B9
,
&
one
,
sizeof
(
one
)
,
0
)
;
ReadProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3BA
,
&
two
,
sizeof
(
two
)
,
0
)
;
ReadProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3BB
,
&
three
,
sizeof
(
three
)
,
0
)
;
ReadProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3BF
,
&
four
,
sizeof
(
four
)
,
0
)
;
WriteProcessMemory
(
hProcess
,
(
PVOID
)
(
five
+
0x00
+
2
)
,
&
five
,
3
,
0
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
(
six
+
0x90
+
3
)
,
(
LPVOID
)
&
six
,
3
,
NULL
)
;
Вот такой был интернал:
C++:
Код:
VirtualProtect
(
(
PVOID
)
0x4BA3B9
,
6
,
PAGE_EXECUTE_READWRITE
,
NULL
)
;
VirtualProtect
(
(
PVOID
)
0x4B3296
,
3
,
PAGE_EXECUTE_READWRITE
,
NULL
)
;
*
(
BYTE
*
)
0x4BA3B9
=
0xE9
;
*
(
BYTE
*
)
0x4BA3BA
=
0xA7
;
*
(
BYTE
*
)
0x4BA3BB
=
0x03
;
memset
(
(
PVOID
)
0x4BA3BC
,
0x00
,
2
)
;
*
(
BYTE
*
)
0x4BA3BF
+
0x90
;
memset
(
(
PVOID
)
0x4B3296
,
0x90
,
3
)
;
Ты снимаешь протекты текущего процесса, а не в том где ты работаешь с памятью.
Используй экстендед функцию, в ней первый параметр это хендл процесса, остальное всё тоже самое.
Да и вообще снимать протекты тут не надо, так что можешь просто удалить VirtualProtect
|
|
|

09.05.2020, 17:30
|
|
Постоянный
Регистрация: 18.03.2017
Сообщений: 410
С нами:
4818548
Репутация:
133
|
|
Сообщение от T4yz1e
Как здесь работать с *(BYTE*)?
Так же как и с дворд у меня в примере, только это 1 байт
typedef unsigned char BYTE;
Windows Data Types (BaseTsd.h) - Win32 apps
The data types supported by Windows are used to define function return values, function and message parameters, and structure members.
docs.microsoft.com
|
|
|

09.05.2020, 18:22
|
|
Постоянный
Регистрация: 27.05.2018
Сообщений: 651
С нами:
4191790
Репутация:
83
|
|
Сообщение от T4yz1e
а по поводу memset, разве так надо это записывать?
Он не позволяет туда значение типа int вставлять
А тут как раз int
LPCVOID - это const void*, кастуй.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|