ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Работа с оффсетами (https://forum.antichat.xyz/showthread.php?t=1470585)

reussssya 13.03.2023 00:41

[QUOTE="Kecer"]

Привет, в общем хочу сделать некий AirJump для майнкрафт на с++, с помощью cheat engine получаю статический адрес, но как его использовать дальше не понимаю, то ли не то ввожу то ли ещё что-то не знаю

C++:





[CODE]
#include "iostream"
#include "windows.h"
DWORD pid
;
DWORD Jumping
=
0x007E1A30
;
int
airJumping
;
using
namespace
std
;
int
main
(
)
{
HWND hwnd
=
FindWindowA
(
0
,
(
"Minecraft 1.8.9"
)
)
;
GetWindowThreadProcessId
(
hwnd
,
&
pid
)
;
HANDLE pHandle
=
OpenProcess
(
PROCESS_ALL_ACCESS
,
FALSE
,
pid
)
;
while
(
true
)
{
//airJumping = 65537;
//WriteProcessMemory(pHandle, (LPVOID)Jumping, &airJumping, sizeof(int), 0);
ReadProcessMemory
(
pHandle
,
(
LPVOID
)
Jumping
,
&
airJumping
,
sizeof
(
airJumping
)
,
0
)
;
std
::
cout

to the pointer:





[CODE]
uintptr_t
gotoPtrAddress
(
HANDLE hProc
,
uintptr_t ptr
,
std
::
vector

offsets
)
{
uintptr_t addr
=
ptr
;
for
(
unsigned
i
=
0
;
i


Kecer 13.03.2023 02:28

[QUOTE="reussssya"]

каждый шаг(оффсет) ты должен считывать через ReadProcessMemory

to the pointer:





[CODE]
uintptr_t
gotoPtrAddress
(
HANDLE hProc
,
uintptr_t ptr
,
std
::
vector

offsets
)
{
uintptr_t addr
=
ptr
;
for
(
unsigned
i
=
0
;
i

reussssya 14.03.2023 17:13

Цитата:

Сообщение от Kecer

Слушай в целом, я это уже не много по другому реализовал но твой вариант думаю будет по лучше и более эффективным при создание чита, но у меня появилась следующая проблема, в целом всё хорошо нахожу оффсет, всё работает, я могу релогнуть игру, зайти в неё заного после зайти в мир, выбрать программу заного, в cheat engine и значения не спадут, но допустим при смерти, либо же при выхода из мира и последующего захода в мир, или при заходе на сервер, или в другой мир, значения спадают, и почему-то перестают работать, мб как-то не правильно ищу, обрыскал все источники не чего того что мне могло помочь не нашёл. И ещё вопрос, есть ещё какие-то способы работы с памятью игры, если допустим в какой-то из игр, игра детектит процесс Cheat Engine и не даёт его запустит, закрывая игру. Заранее спасибо за помощь

попробуй другие указатели использовать. могу посоветовать только x64 (или x32dbg) либо ollydbg

x0r1x 27.04.2023 02:21

Цитата:

Сообщение от Kecer

Слушай в целом, я это уже не много по другому реализовал но твой вариант думаю будет по лучше и более эффективным при создание чита, но у меня появилась следующая проблема, в целом всё хорошо нахожу оффсет, всё работает, я могу релогнуть игру, зайти в неё заного после зайти в мир, выбрать программу заного, в cheat engine и значения не спадут, но допустим при смерти, либо же при выхода из мира и последующего захода в мир, или при заходе на сервер, или в другой мир, значения спадают, и почему-то перестают работать, мб как-то не правильно ищу, обрыскал все источники не чего того что мне могло помочь не нашёл. И ещё вопрос, есть ещё какие-то способы работы с памятью игры, если допустим в какой-то из игр, игра детектит процесс Cheat Engine и не даёт его запустит, закрывая игру. Заранее спасибо за помощь

во первых ты должен выяснить, в какой именно динамической библиотеке, или исполняемом файле, лежит то что тебе надо, это можно сделать методом тыка в ce, или-же методом поиска указателя вручную через olydbg. второй способ не даёт гарантии что ты найдёшь вообще какой либо указатель, но в ce ты обязательно какой-то указатель да и найдёшь, проблема в том, что вроде бы указатель работает как надо, но в каком-то моменте игры, он может указывать на не пойми что, либо же на какое-то другое значение. это решается с помощью: ida pro, olydbg или-же x32dbg. но точно такая же проблема, если ты найдёшь указатель с неправильным базовым модулем, или-же с неправильными оффсетами.

и вообще для майнкрафта в основном пишут читы на jav'е, если тебе так сильно хочется писать чит на c++ для майнкрафта, советую java native interface(jni).


Время: 02:52