Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 11:41

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Kleine Frage

Discussion on Kleine Frage within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
Whaaat?'s Avatar
 
elite*gold: 43
Join Date: Sep 2013
Posts: 161
Received Thanks: 27
Kleine Frage

Hey leute,
Ich habe mir grade ein Sourcecode für einen External CS:S Hack runtergeladen.
Ich benutze diese ganz gerne um zu schauen wie andere Cheats schreiben und wie man richtig anfängt.
Habe dort bisher alles verstanden da ein gewisses Grundwissen vorhanden ist.
Nun habe ich dort aber diese Zeile:
Code:
while(!(ProcInfo.handle = OpenProcess(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF, false, ProcInfo.pid)))
Als ich nachgeschaut habe fiel mir auf das als 3. Teil eig. nur die pId gebraucht wird hier aber nicht.
Habe dann weitergesucht und schließlich noch etwas gefunden:
Code:
OpenProcess(access-mask | PROCESS_QUERY_INFORMATION, FALSE or TRUE, pid);
Nun habe ich aber die Frage, was PROCESS_QUERY_INFORMATION ist.

Edit:
Mir ist später noch: GetModuleBaseExtern(ProcInfo.pid, "client.dll") aufgefallen jedoch finde ich zu GetModuleBase bzw. GetModuleBaseExtern nichts.
Kann mir jemand das erläutern?

Falls ich etwas davor schon falsch verstanden habe bitte sagt es mir
Für jede Hilfe bin ich dankbar.
Whaaat? is offline  
Old 04/21/2014, 11:09   #2
 
elite*gold: 1391
Join Date: Apr 2014
Posts: 77
Received Thanks: 14
Quote:
Originally Posted by Whaaat? View Post
Nun habe ich dort aber diese Zeile:
Code:
while(!(ProcInfo.handle = OpenProcess(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF, false, ProcInfo.pid)))
Als ich nachgeschaut habe fiel mir auf das als 3. Teil eig. nur die pId gebraucht wird hier aber nicht.
Habe dann weitergesucht und schließlich noch etwas gefunden:
Code:
OpenProcess(access-mask | PROCESS_QUERY_INFORMATION, FALSE or TRUE, pid);
Nun habe ich aber die Frage, was PROCESS_QUERY_INFORMATION ist.
Siehe msdn:


Quote:
PROCESS_QUERY_INFORMATION (0x0400) Required to retrieve certain information about a process, such as its token, exit code, and priority class (see OpenProcessToken).
Quote:
Edit:
Mir ist später noch: GetModuleBaseExtern(ProcInfo.pid, "client.dll") aufgefallen jedoch finde ich zu GetModuleBase bzw. GetModuleBaseExtern nichts.
Kann mir jemand das erläutern?

bzw.


GetModuleBase() liefert die Basisadresse eines Moduls
Dort steht uebrigens auch, dass das PROCESS_QUERY_INFORMATION Zugriffsflag benoetigt wird.
Die Basisadresse ist die Adresse eines Images (z.b. einer Dll) im virtuellen Prozessspeicher. DIese wird z.B. benoetigt, um mithilfe von relativen Adressen Prozessdaten auszulesen / zu beschreiben.
Actidnoide is offline  
Thanks
1 User
Old 04/21/2014, 11:24   #3
 
Whaaat?'s Avatar
 
elite*gold: 43
Join Date: Sep 2013
Posts: 161
Received Thanks: 27
Danke für die Antwort jedoch hab ich noch die Frage, warum der Codeersteller hier
Code:
while(!(ProcInfo.handle = OpenProcess(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE |0xFFFF, false, ProcInfo.pid)))
nicht einfach nur die pId am Ende eingefügt hat.
Whaaat? is offline  
Old 04/21/2014, 11:47   #4


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by Whaaat? View Post
Danke für die Antwort jedoch hab ich noch die Frage, warum der Codeersteller hier
Code:
while(!(ProcInfo.handle = OpenProcess(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE |0xFFFF, false, ProcInfo.pid)))
nicht einfach nur die pId am Ende eingefügt hat.
Was verstehst du denn nicht? ProcInfo.pid stellt doch anscheinend die Prozess ID dar.
Mostey is offline  
Old 04/21/2014, 11:55   #5
 
Whaaat?'s Avatar
 
elite*gold: 43
Join Date: Sep 2013
Posts: 161
Received Thanks: 27
Quote:
Originally Posted by Mostey View Post
Was verstehst du denn nicht? ProcInfo.pid stellt doch anscheinend die Prozess ID dar.
Ich verstehe nicht warum er davor noch 0xFFFF und False reingepackt hat.
Ich weiß das 0xFFFF 65535 ist aber ich weiß nicht was es dort zu bedeuten hat.
Whaaat? is offline  
Old 04/21/2014, 12:07   #6
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Mann kann ja nachschauen, was die Parameter für Auswirkungen haben. Hab ich jedenfalls mal gehört.
Schlüsselbein is offline  
Thanks
2 Users
Old 04/21/2014, 12:09   #7
 
elite*gold: 1391
Join Date: Apr 2014
Posts: 77
Received Thanks: 14
mit "| 0xFFFF" werden weitere Zugriffsflags gesetzt. Welche diese sind und ob sie gebraucht werden ist glaube ich OS abhaengig

Das Accessflag PROCESS_ALL_ACCESS scheint so definiert zu sein:
Code:
#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF)
Ich weiss aber nichts genaueres in diesem Zusammenhang
Actidnoide is offline  
Thanks
1 User
Old 04/21/2014, 12:21   #8
 
Whaaat?'s Avatar
 
elite*gold: 43
Join Date: Sep 2013
Posts: 161
Received Thanks: 27
Ah ja ich habs jetzt verstanden
"(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF)" ersetzt einfach nur Process_All_Access in "OpenProcess(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF, false, ProcInfo.pid)"
Aber warum macht der Ersteller das?
Macht das irgendein unterschied um es vielleicht vom AntiCheat zu verstecken?
Whaaat? is offline  
Old 04/21/2014, 12:25   #9
 
elite*gold: 1391
Join Date: Apr 2014
Posts: 77
Received Thanks: 14
Nein, (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF) oder PROCESS_ALL_ACCESS ist am Ende nur eine Zahl, die in einem 32bit Integer im Binaercode liegt. Warum er es gemacht hat liegt wohl offen.
Actidnoide is offline  
Thanks
1 User
Old 04/21/2014, 12:31   #10
 
Whaaat?'s Avatar
 
elite*gold: 43
Join Date: Sep 2013
Posts: 161
Received Thanks: 27
Danke für die Antworten
Thread kann geclosed werden.
Whaaat? is offline  
Old 04/21/2014, 13:17   #11
 
Padmak's Avatar
 
elite*gold: 58
Join Date: Jun 2008
Posts: 2,311
Received Thanks: 8,420
Eventuell hat er das deswegen gemacht:

Speziell
Quote:
All possible access rights for a process object.
Windows Server 2003 and Windows XP: The size of the PROCESS_ALL_ACCESS flag increased on Windows Server 2008 and Windows Vista. If an application compiled for Windows Server 2008 and Windows Vista is run on Windows Server 2003 or Windows XP, the PROCESS_ALL_ACCESS flag is too large and the function specifying this flag fails with ERROR_ACCESS_DENIED. To avoid this problem, specify the minimum set of access rights required for the operation. If PROCESS_ALL_ACCESS must be used, set _WIN32_WINNT to the minimum operating system targeted by your application (for example, #define _WIN32_WINNT _WIN32_WINNT_WINXP). For more information, see Using the Windows Headers.
Padmak
Padmak is offline  
Reply


Similar Threads Similar Threads
[FRAGE] Eine Kleine HomePage Frage
10/06/2010 - Metin2 Private Server - 4 Replies
Gameserver-Datenbank SQL-Server (Gameserver) SQL-User (Gameserver) SQL-Passwort (Gameserver) Homepage-Datenbank
[FRAGE] STARTERSET!!! KLEINE FRAGE WIRKLICH KLEIN^^ XD
03/19/2010 - Metin2 Private Server - 4 Replies
ES LIEF BEIM TEST CHAR ALLES SUPER AUSSER ER WURDE NICHT LEVEL 99 SONDERN LEVEL 33 WIE KANN ICH DAS ÄNDERN BZW WO LIEGT DER FEHLER?^^ say_title ( "Willkommen" ) say ( "Willkommen auf dem Server LuckboxMt2." ) say ( "Wehe du Hackst dann wirste hier gebannd gekickt und dick in den Arsch gepoppt ne also have Fun" ) say ( "Blubb" ) say ( "" ) command ( "level 99" )



All times are GMT +2. The time now is 11:41.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.