Entwickler-Ecke
Windows API - ProcessID ( PID ) auslesen
detke - Mo 30.05.11 16:49
Titel: ProcessID ( PID ) auslesen
Hey,
Lange lange ist es her, da habe ich mich mit Delphi beschäftigt, jetzt habe ich das ganze mal wieder ausgegraben!
Meine Frage ist, wie kann ich die PID eines Prozesses in Delphi auslesen ?
Ich habe es schön über den Window Handel versucht, allerdings ist das ganze für einen DLL Injector und wenn ich das ganze über den WindowHandel mache ist es zu langsam und das Hackshield hat bereits geladen, gibt es eine andere Möglichkeit die PID auszulesen in Delphi ?
Nehmen wir als Beispiel einfach notepad.exe :)
danke euch,
Gruß
detke
Moderiert von
Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mo 30.05.2011 um 17:34
jaenicke - Mo 30.05.11 17:07
Erstens: Hackshield hört sich nicht gerade danach an, als sei dein Vorhaben legal...
Was hast du denn genau vor?
Beim Versuch ein Onlinespiel zu hacken werden wir dir natürlich nicht helfen...
Zweitens: Startest du den Prozess selbst? Dann hast du die Prozess-ID doch bereits.
Und wenn nicht? Woher weißt du denn den Zeitpunkt, an dem du die ID wissen willst? Und was willst du damit machen?
detke - Mo 30.05.11 17:09
Das Hackshield eines Games zu umgehen ist nicht verboten! ;)
Das hackshield läd am anfang, sprich, wenn der Prozess noch kein Fenster hat, deswegen geht es mit dem WindowHandel nicht.
Nein, den Prozess kann ich nicht selbst starten.
---
Moderiert von
Narses: Beiträge zusammengefasst---
Habe es nun geschafft!
Für alle es geht so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| function GetProcID(sProcName: String): Integer; var hProcSnap: THandle; pe32: TProcessEntry32; begin result := -1; hProcSnap := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0); if hProcSnap = INVALID_HANDLE_VALUE then exit;
pe32.dwSize := SizeOf(ProcessEntry32);
if Process32First(hProcSnap, pe32) = true then while Process32Next(hProcSnap, pe32) = true do begin if pos(sProcName, pe32.szExeFile) <> 0then result := pe32.th32ProcessID; end; CloseHandle(hProcSnap); end; |
jaenicke - Mo 30.05.11 17:28
detke hat folgendes geschrieben : |
Das Hackshield eines Games zu umgehen ist nicht verboten! ;) |
Bist du sicher? Hast du einmal in die AGB / Nutzungsbedingungen geschaut? In der Regel steht dort drin, dass du es nicht darfst.
detke - Mo 30.05.11 17:30
jaenicke hat folgendes geschrieben : |
detke hat folgendes geschrieben : | Das Hackshield eines Games zu umgehen ist nicht verboten! ;) | Bist du sicher? Hast du einmal in die AGB / Nutzungsbedingungen geschaut? In der Regel steht dort drin, dass du es nicht darfst. |
AGB != Gesetzt, ich darf doch wohl auf meinem RAM machen was ich will es ist ja nicht gesagt, dass ich etwas böses mache, wenn ich das HS umgehe.
Die Spiele Publisher können den Account bannen, allerdings sind das nur AGBs keine Gesetze ;)
jaenicke - Mo 30.05.11 17:57
Wie du meinst, aber dennoch wird das hier im Forum nicht unterstützt. Das nur als Hinweis für ggf. kommende Fragen. ;-)
Gerd Kayser - Mo 30.05.11 19:24
detke hat folgendes geschrieben : |
Für alle es geht so: |
Wenn ich die nachfolgenden Delphizeilen so lese, wage ich das doch sehr zu bezweifeln ...
Delphi-Quelltext
1: 2: 3:
| if Process32First(hProcSnap, pe32) = true then [ ... ] while Process32Next(hProcSnap, pe32) = true do |
finalizat0r - Mo 30.05.11 23:44
Gerd Kayser hat folgendes geschrieben : |
Wenn ich die nachfolgenden Delphizeilen so lese, wage ich das doch sehr zu bezweifeln ...
Delphi-Quelltext 1: 2: 3:
| if Process32First(hProcSnap, pe32) = true then [ ... ] while Process32Next(hProcSnap, pe32) = true do | |
Das ist zwar kein "perfekter" Quellcode, aber auch kein Weltuntergang :!:
finalizat0r - Fr 03.06.11 16:12
jaenicke hat folgendes geschrieben : |
Um genau zu sein nicht "nicht perfekt", sondern schlicht falsch. ;-) |
Danke für diese Information, so hab ich das noch garnicht betrachtet :!:
Gruß
Delphi-Laie - Fr 03.06.11 16:24
Die AG- und/oder Nutzungsbedingungen sind fast immer unwirksam bzw. null und nichtig, da pauschal und oft sogar überraschend.
Mir ist völlig schleierhaft, warum in den Delphiforen den Programmherstellern diesbezüglich ständig so auffällig einseitig, ja willfährig nach dem Munde geredet wird.
Allerdings ist das Urheberrecht in jedem Falle wirksam und mithin zu beachten.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!