Autor |
Beitrag |
detke
      
Beiträge: 55
WIN XP
Delphi 5
|
Verfasst: Mo 30.05.11 16:49
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
      
Beiträge: 19313
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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 
      
Beiträge: 55
WIN XP
Delphi 5
|
Verfasst: 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
      
Beiträge: 19313
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 30.05.11 17:28
|
|
detke 
      
Beiträge: 55
WIN XP
Delphi 5
|
Verfasst: Mo 30.05.11 17:30
|
|
jaenicke
      
Beiträge: 19313
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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
      
Beiträge: 632
Erhaltene Danke: 121
Win 7 32-bit
Delphi 2006/XE
|
Verfasst: Mo 30.05.11 19:24
|
|
finalizat0r
      
Beiträge: 24
Erhaltene Danke: 1
|
Verfasst: Mo 30.05.11 23:44
|
|
jaenicke
      
Beiträge: 19313
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 30.05.11 23:45
finalizat0r hat folgendes geschrieben : | Das ist zwar kein "perfekter" Quellcode, aber auch kein Weltuntergang  |
Um genau zu sein nicht "nicht perfekt", sondern schlicht falsch.
Hier habe ich mal ein kleines Beispiel gebastelt, wann so ein Vergleich mit True schief geht:
www.delphi-forum.de/....php?p=548760#548760
Mehr dazu steht hier unter Anfängerfehler:
www.delphi-treff.de/...olean-werten/page/4/
Und warum das auch vollkommen unlogisch ist:
www.delphi-forum.de/....php?p=560637#560637
Für diesen Beitrag haben gedankt: finalizat0r
|
|
finalizat0r
      
Beiträge: 24
Erhaltene Danke: 1
|
Verfasst: Fr 03.06.11 16:12
|
|
Delphi-Laie
      
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: 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.
|
|