|
Thread |
Forum |
Last Post |
Posts |
Views |
 |
[CS:S] externer Triggerbot
( 1 2 3 4 5 ... Last Page)
Posted on: Sun 12. Sep 2010, 14:47
sMp
Preview
Go To Post
kann mir jemand helfen, dass in c++ umzusetzen? Kann den code hier posten will aber niemand nerven.. Wenn jemand helfen will, pm please. Ansonsten sagt bescheid dann post ich den code. (sorry für thread push)
|
Tutorials |
Wed 29. Aug 2012, 22:49
by SilverFire
|
120 |
19793 |
 |
[CS:S] externer Triggerbot
( 1 2 3 4 5 ... Last Page)
Posted on: Sun 12. Sep 2010, 14:47
sMp
Preview
Go To Post
CPP Code: // triggerbot.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung. // #include "stdafx.h" #include <iostream> #include <windows.h> #include <conio.h> using namespace std; BYTE offset[2] = { 0x14, 0x50 }; int main() { cout << "Triggerbot" << endl << "by Santo" << endl << endl << endl << "searching Counter-Strike Source"; Sleep(1000); cout << "."; Sleep(500); cout << "."; Sleep(500); cout << "."; HWND cstrike = NULL; while( cstrike == NULL ) { cstrike = FindWindow(NULL, L"Counter-Strike Source"); Sleep(100); } cout << "Counterstrike Source found" << endl; DWORD prozessid; GetWindowThreadProcessId(cstrike, &prozessid); HANDLE handleprozess; handleprozess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, prozessid); DWORD puffer = NULL; ReadProcessMemory(handleprozess,(void*)(0x4D410C),&offset,sizeof(offset),&puffer); int x; cin >> x; CloseHandle(handleprozess); return 0; }
Ich weiß nicht genau wie ich weiter machen soll.. irgendein loop der den wert ausgibt.. so ungefähr: TEXT Code: if(0x000000 > 0) gegner is da;
Weiß aber auch ehrlich gesagt nicht genau mit dem offset um zu gehen. Ist das so, dass wenn der wert (beispiel): 0x00000 ist, der gegner nicht im visier ist und das offset (beispiel) 0x1111 dazu kommt, der gegner im visier ist?? hoffe ihr versteht mein kauderwelsch
|
Tutorials |
Wed 29. Aug 2012, 22:49
by SilverFire
|
120 |
19793 |
 |
[CS:S] externer Triggerbot
( 1 2 3 4 5 ... Last Page)
Posted on: Sun 12. Sep 2010, 14:47
sMp
Preview
Go To Post
Sorry, Aber.. Ich habe große Probleme, damit auf die Ideen zu kommen wie man die Adressen herraus findet und benutzt. Also ich brauche nun die Adresse zum radar struct. Gibt es irgendwo einen Anleitung wie man auf die Adressen kommt? Ich mein mit dem anvisieren, war ja einleuchtend, obwohl ich z.B. auch nicht weiß woher man weiß, dass der wert sich von 0 auf 2 oder 3 und nicht einfach auf 1 oder 2 ändert oder einfach NUR auf 1 (wäre mir sogar logischer: 0: keinen player info text anzeigen, 1: player text anzeigen. Wenn ich jetzt überlege, wie ich auf die Adresse vom radar struct komme, würde mir nur einfallen zu vergleichen, welche Adresse bzw. Pointer es hat wenn ich auf einen aus meinem und dem Gegner Team schaue. Ich hoffe das ich euch nicht nerv und ihr mir weiter helfen könnt, da ich wirklich gewillt bin zu lernen und nicht einfach copy & paste von z.B. avitamins extern0r code zu machen. Den Code habe ich mir angeschaut, was ein Fehler war, da ich durch fremde Codes meist eh nicht durchblick und nun noch mehr Verwirrung in meinem Kopf herrscht. €: Die Sachen die bis jetzt erwähnt wurden haben mir schon sehr geholfen etwas Klarheit zu schaffen wie das readen genau funktioniert und wie man es Sinnvoll anwenden kann!
|
Tutorials |
Wed 29. Aug 2012, 22:49
by SilverFire
|
120 |
19793 |
 |
[CS:S] externer Triggerbot
( 1 2 3 4 5 ... Last Page)
Posted on: Sun 12. Sep 2010, 14:47
sMp
Preview
Go To Post
Soo ich wollte einfach mal um es zu verstehen eine Ausgabe machen, welche mir zeigt, dass ich auf einen Spieler schaue (team erstmal egal) Also hab ich folgendes: CPP Code: // triggerbot.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung. // #include "stdafx.h" #include <iostream> #include <windows.h> #include <conio.h> #include <tlhelp32.h> using namespace std; DWORD dwPID = 0; HANDLE hProcess; DWORD m_dwAddress; DWORD dwClient_DLL; DWORD dwEngine_DLL; int m_iLookAtPlayer; int x; DWORD GetModuleBaseExtern( DWORD dwPID, char* szModuleName ); struct sGameWindow { HWND hWindow; }; sGameWindow GameWindow; int main() { cout << "Triggerbot" << endl << "by Santo" << endl << endl; while( !(GameWindow.hWindow = FindWindow(NULL, "Counter-Strike Source")) ) { Sleep(10); cout << "searching Counter-Strike Source"; } cout << "Counterstrike Source found " << endl; SetForegroundWindow( GameWindow.hWindow ); while( !( GetForegroundWindow() == GameWindow.hWindow ) ) { Sleep(10); } GetWindowThreadProcessId( GameWindow.hWindow, &dwPID ); while( !( hProcess = OpenProcess( PROCESS_ALL_ACCESS, false, dwPID ) ) ) { Sleep(10); } while( !( dwEngine_DLL = GetModuleBaseExtern( dwPID, "engine" ) ) ) { Sleep(10); } printf ( "[*] engine.dll [0x%.8X]\n", dwEngine_DLL ); while( !( dwClient_DLL = GetModuleBaseExtern( dwPID, "client" ) ) ) { Sleep(10); } printf ( "[*] client.dll [0x%.8X]\n", dwClient_DLL ); cout << "if client.dll is not 0x38000000 hack won't work" << endl; cout << "in this case please contact the coder" << endl; cout << "..." << endl; ReadProcessMemory( hProcess, (PVOID)( dwClient_DLL + 0x16Cb0968 ), &m_dwAddress, 4, NULL ); while( 1 == 1 ) { ReadProcessMemory( hProcess, (PVOID)( m_dwAddress + 0x1450 ), &m_iLookAtPlayer, 4, NULL ); printf ( "Look at: %u", m_iLookAtPlayer ); } cin >> x; return 0; } DWORD GetModuleBaseExtern( DWORD dwPID, char* szModuleName ) { HANDLE hModuleSnap = INVALID_HANDLE_VALUE; MODULEENTRY32 me32; hModuleSnap = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, dwPID ); if ( hModuleSnap == INVALID_HANDLE_VALUE ) return 0x0; me32.dwSize = sizeof( MODULEENTRY32 ); if ( !Module32First( hModuleSnap, &me32 ) ) { CloseHandle( hModuleSnap ); return 0x0; } do { if ( strstr( me32.szModule, szModuleName ) ) { CloseHandle( hModuleSnap ); return (DWORD)me32.modBaseAddr; } } while( Module32Next( hModuleSnap, &me32 ) ); CloseHandle( hModuleSnap ); return 0x0; }
Ich weiß das ein wenig Copy&Paste drin ist aber ich wills halt erstmal verstehen. Mein Problem ist, dass es immer nur 0 als Wert wieder gibt. Das ich das falsch mache ist mir klar, ich wüsste blos gern was man machen muss um den Wert des Pointers wiederzugeben. Wie man oben sieht, weiß ich nicht mal genau wie das mit der client.dll + Adresse etc. funktioniert! (Mein Pointer war: 0x16Cb0968 mit offset: 0x1450
|
Tutorials |
Wed 29. Aug 2012, 22:49
by SilverFire
|
120 |
19793 |
 |
[CS:S] externer Triggerbot
( 1 2 3 4 5 ... Last Page)
Posted on: Sun 12. Sep 2010, 14:47
sMp
Preview
Go To Post
Habe grad bemerkt, dass ich böse was falsch mache.. in meinem code steht (zur überprüfung): CPP Code: ReadProcessMemory( hProcess, (PVOID)( dwClient_DLL + 0x4D410C ), &dwAddress, 4, NULL ); ReadProcessMemory( hProcess, (PVOID)( dwAddress + 0x1450), &m_iLookAtPlayer, sizeof(m_iLookAtPlayer), NULL ); printf ( "Address: [0x%.8X]\n", dwAddress ); printf ( "[0x%.8X]",dwAddress + 0x1450\n );
und es kommt raus: Address: [0x00000000] [0x00001450] =S
|
Tutorials |
Wed 29. Aug 2012, 22:49
by SilverFire
|
120 |
19793 |