Skocz do zawartości

Mem-rex + csgo


beliar1
# CSH External VIP Project

Masz dosyć problemów z czynnikiem zaufania w CS2 lub notorycznymi banami?

Sprawdź CSH External VIP Project.


Więcej informacji  

Rekomendowane odpowiedzi

Witam, kiedyś @wiotqpomógł mi zaktualizować mój kodzik poprzez konwersje read/write memory opierajac sie mem-rexem 

https://github.com/patrykkolodziej/Mem-rex

Odpalilem ostatnio swój kodzik, zaktualizowalem offsety no i dupa 😞

Zaczalem debugowac kod i wszystkie wartosci jakie odczytuje wyrzuca mi 0 ... dla przykladu
 

moveOffset = 0x114
localPlayer = 0xDC14CC
clientBase = mem_rex.get_module("client.dll");
buffer = mem_rex.read<int>(clientBase + localPlayer); //Get localPlayer pointer
						moving = mem_rex.read<int>(buffer + moveOffset);

moving wyrzuca 0 nie wazne czy bym sie poruszal czy tez nie ... 
 nie wazne co bym chcial odczytac zawsze jest 0


I chcialbym Panów tutaj na forum podpytac czy mem-rex nadal kompatybilny z CS:GO oraz czy duzo sie zmienilo w metodzie readmemory w csgo od 2020 roku :X zapewne duzo ale kurde kazda podpowiedz moze byc kluczowa

 

pozdrawiam ❤️

Odnośnik do komentarza
moveOffset = m_vecVelocity = 0x114

@wiotq Jak bym ci pokazal cale source w jaki sposób wykorzystuje mem.rexa to bylbys wstanie okreslic czy robie to w odpowiedni sposób ?
W kodzie od 2020 nic nie zmienilem oprzócz aktualizacji Offsetów na aktualne a tak jak mówie same wartosci 0 aktualnie ... 😞
Mozliwe ze coś zle debuguje ...

Odnośnik do komentarza

@Czarny Jasne aczkolwiek jakaś wartość powinno mi wyrzucić tak czy siak, co bym nie odczytywał wyrzuca 0 ...
 

void TriggerbotLoop()
{
	scanplayer player;
	for (int i = 1; i < 64; i++)
	{
		buffer = 0; //Reset buffer
		buffer = mem_rex.read<int>(clientBase + entityList + (i - 1) * 0x10);
		//ReadProcessMemory(hProcess, reinterpret_cast<LPVOID>(clientBase + entityList + i * nextPlayer), &buffer, 4, 0); //Get next player in EntityList
		if (buffer == 0) continue; //If there's none, get the next player

		player.id = i;
		player.team = mem_rex.read<int>(buffer + team);

		if (player.id == crosshairId) //Compare player's team and ID with main player's team and crosshair ID
		{
			if (player.team != mainTeam) //If they're not in the same team
			{
				if ((toggle || hold) && !noneMode) //If trigger is ON
				{
					if (pistolMode)
					{
						buffer = mem_rex.read<int>(clientBase + localPlayer); //Get localPlayer pointer
						moving = mem_rex.read<int>(buffer + moveOffset); //Check if moving
						jumping = mem_rex.read<int>(buffer + jumpOffset); //Check if jumping/falling etc.
						buffer = 0;


player.team / player.id / crosshairid / moving / jumping / wszystko 0 ....

Odnośnik do komentarza

Offsety masz na pewno prawidłowe? 

Ten kod działa w pełni poprawnie

cMemRex MemRex("csgo.exe");
ClientDLL.Address = MemRex.GetModuleAddress(Xor("client.dll"));


	auto buffer = 0;
	for (auto i = 0; i <= 64; i++)
	{
		buffer = MemRex.Read<int>(ClientDLL.Address + Offsets::dwEntityList + (i - 1) * 0x10);
		if (!buffer) continue;
		const auto team = MemRex.Read<int>(buffer + Offsets::m_iTeamNum);
		const auto health = MemRex.Read<int>(buffer + Offsets::m_iHealth);
		std::cout << "ID: " << i << " Team: " << team << " Health: " << health << std::endl;
	}
}

 

Odnośnik do komentarza
[m_fAccuracyPenalty]:
0x3340
[m_hActiveWeapon]:
0x2F08
[m_vecVelocity[0]]:
0x114
[m_vecVelocity[2]]:
0x118
[m_bIsScoped]:
0x9974
[EntityList]:
0x4DDD93C
[LocalPlayer]:
0xDC14CC
[NextPlayer]:
0x10
[m_iTeamNum]:
0xF4
[m_iCrossHairID]:
0x11838
[PlayerID]:
0x64



Tu masz w sumie cale source

https://pastebin.com/8pKDWu2N

 

Odnośnik do komentarza

Zaktualizowalem mem.rexa na tego z githuba i teraz faktycznie odczytuje jakies tam wartosci.

Z kazdym uruchomieniem cheata dla przykladu 

 

		team = 0xF4
buffer = 0; //Reset buffer
		buffer = MemRex.read<int>(clientBase + entityList + (i - 1) * 0x10);
		//ReadProcessMemory(hProcess, reinterpret_cast<LPVOID>(clientBase + entityList + i * nextPlayer), &buffer, 4, 0); //Get next player in EntityList
		if (buffer == 0) continue; //If there's none, get the next player

		player.id = i;
		player.team = MemRex.read<int>(buffer + team);
		cout << player.team << "\n";

player.team z kazdym nowym uruchomieniem cheata wyswietla inna wartosc ( nie jestem pewien czy tak powinno byc) 

Odnośnik do komentarza
scanplayer player;
	for (int i = 0; i <= 64; i++)
	{
		buffer = 0; //Reset buffer
		buffer = MemRex.read<int>(clientBase + entityList + (i - 1) * 0x10);
		//ReadProcessMemory(hProcess, reinterpret_cast<LPVOID>(clientBase + entityList + i * nextPlayer), &buffer, 4, 0); //Get next player in EntityList
		if (!buffer) continue; //If there's none, get the next player

		player.id = i;
		player.team = MemRex.read<int>(buffer + 0xF4);
		health = MemRex.read<int>(buffer + 0x100);
		ofstream myfile;
		myfile.open("examples.txt", std::ios_base::app);
  		myfile << "ID: " << player.id << " Team: " << player.team << " Health: " << health << "\n" << "\n" << "\n";
  		myfile.close();
  		cout << "ID: " << player.id << " Team: " << player.team << " Health: " << health << "\n" << "\n";

I wynik wyglada tak : 

 

ID: 0 Team: -2090788778 Health: 1665829197


ID: 1 Team: 47 Health: 47


ID: 2 Team: 4 Health: 4


ID: 3 Team: 89596400 Health: 2


ID: 4 Team: 89603048 Health: 62763480


ID: 5 Team: 1128753011 Health: 846618421


ID: 6 Team: 89497160 Health: 4


ID: 9 Team: -2090788778 Health: 1665829197


ID: 10 Team: 47 Health: 47


ID: 11 Team: 4 Health: 4


ID: 12 Team: 1296254831 Health: 40


ID: 13 Team: 89603192 Health: 62763480


ID: 14 Team: 1128753011 Health: 846618421


ID: 15 Team: 89585896 Health: 4


ID: 18 Team: -2090788778 Health: 1665829197


ID: 19 Team: 63 Health: 63


ID: 20 Team: 4 Health: 4


ID: 21 Team: 1734431860 Health: 8


ID: 22 Team: 89603336 Health: 62763480


ID: 23 Team: 1601332584 Health: 1296392043


ID: 24 Team: 89451224 Health: 4


ID: 27 Team: -2090788778 Health: 1665829197


ID: 28 Team: 47 Health: 47


ID: 29 Team: 4 Health: 4


ID: 30 Team: 0 Health: 29


ID: 31 Team: 89603480 Health: 62763480


ID: 32 Team: 1128753011 Health: 846618421


ID: 33 Team: 89524672 Health: 4


ID: 36 Team: -2090788778 Health: 1665829197


ID: 37 Team: 63 Health: 63


ID: 38 Team: 4 Health: 4


ID: 39 Team: 1296254831 Health: 35


ID: 40 Team: 89603624 Health: 62763480


ID: 41 Team: 1635200562 Health: 1296392043


ID: 42 Team: 89625568 Health: 4


ID: 45 Team: -2090788778 Health: 1665829197


ID: 46 Team: 47 Health: 47


ID: 47 Team: 4 Health: 4


ID: 48 Team: 1296254831 Health: 51


ID: 49 Team: 89603768 Health: 62763480


ID: 50 Team: 1128753011 Health: 846618421


ID: 51 Team: 89547080 Health: 4


ID: 54 Team: -2090788778 Health: 1665829197


ID: 55 Team: 47 Health: 47


ID: 56 Team: 4 Health: 4


ID: 57 Team: 1296254831 Health: 46


ID: 58 Team: 89603912 Health: 62763480


ID: 59 Team: 1128753011 Health: 846618421


ID: 60 Team: 89580592 Health: 4


ID: 63 Team: -2090788778 Health: 1665829197


ID: 64 Team: 63 Health: 63

 

 

Przeportowalem sobie kod na memoryapi-readprocessmemory bo z tego co zauwazylem twoja biblioteka @wiotqtakze z tego korzysta i nadal mam bledne odczyty 😞

Nie masz moze nowszej wersji mem.rexa ? Ta z githuba jest 2020 a tu widze ze twoj sample troszeczke inne odwolania juz ma .... 

Dla przykladu

MemRex.GetModuleAddress
A wedlug github powinno byc
MemRex.get_module
Odnośnik do komentarza

@wiotq Offsety pobieram z 

https://github.com/frk1/hazedumper

Tak jak wczesniej pokazywalem tak wyglada moj offset.ini :
 

[m_fAccuracyPenalty]:
0x3340
[m_hActiveWeapon]:
0x2F08
[m_vecVelocity[0]]:
0x114
[m_vecVelocity[2]]:
0x118
[m_bIsScoped]:
0x9974
[EntityList]:
0x4DDD93C
[LocalPlayer]:
0xDC14CC
[NextPlayer]:
0x10
[m_iTeamNum]:
0xF4
[m_iCrossHairID]:
0x11838
[PlayerID]:
0x64


Moglbys podlinkowac offsety abym mogl sobie ew. porownac i wylapac blad 0.o i ew. podpowiedziec jak skompilowales moj shit w visualu ? XDD

Odnośnik do komentarza

@beliar1 Jaki masz problem z kompilacją w visualu? Co do offsetów upewnij się czy aby na pewno czyta w poprawny sposób z pliku bo ja sobie je ustawiłem na sztywno w kodzie.

Odnośnik do komentarza

@wiotq Przyjacielu odczytuje mi entitylist prawidlowo z pliku, kiedys napisalem kod w notepad ++ i skompilowalem w dev c++ 😅 i tak do tej pory robilem zgaduje ze problem jest z aplikacja w ktorej kompiluje ....

cout na entity wyrzuca mi : 81647932 czyli 0x4DDD93C (prawidlowe wedlug hazedumper)


a tak to wyglada w visualu : 

gyazo 

Odnośnik do komentarza

@Tomson_ Po części pomogło
 

7466185d7ab68f94183cdc06462f2c51.png

Dobra bo poprzestawialem w projekcie duzo ustawien i od nowa zalozylem pusty na bazowych ustawieniach ...
Po przelaczeniu na multi-byte :

image.thumb.png.e0567899db233500934f3d39133c194f.png

 

 

 

EDIT :

Skompilowane w visualu nadal to samo xD :

 

4c640bd77709dbcedac00b6a470a6cc0.png

 

A tak to wyglada w DEV

image.thumb.png.ab08ad4a6d48bed9e062b6fe670bb31e.png

 

 

edit : 

Udalo sie skompilowac lecz problem nadal ten sam 0.o
 : 
image.thumb.png.c7decb864268700cc92b783775f56248.png

 

 

/// edit po raz 5

 

dziala przestawione z x64 na x86 ....

Odnośnik do komentarza

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  Tagi

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Regulamin. Polityka prywatności