Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Aufrufer einer Datei/Programmes lokalisieren (https://www.delphipraxis.net/75154-aufrufer-einer-datei-programmes-lokalisieren.html)

Go2EITS 15. Aug 2006 10:00


Aufrufer einer Datei/Programmes lokalisieren
 
Guten Morgen DP!

Ich habe mal wieder ein Problem.
Es greift auf regsvc.exe ein unbekanntes Programm zu und startet es.
Ich habe nun, da ich den "Angreifer" nicht lokalisieren konnte, einfach ein Dummy in Delphi geschrieben, dass nichts macht. Der Angreifer startet das Programm nun ohne Funktion.

Meine Frage daher:
Ich möchte gerne im Dummy den Aufrufer/das Programm abfangen, dass hier Regsvc.exe aufruft.

Hat jemand eine Lösung für mich/uns.

Feiertagsgrüsse an die DP!
Go2EITS

Luckie 15. Aug 2006 10:03

Re: Aufrufer einer Datei/Programmes lokalisieren
 
Ermittele doch einfach den ElternProzess deines Prozesses.

Go2EITS 15. Aug 2006 10:07

Re: Aufrufer einer Datei/Programmes lokalisieren
 
Moin Luckie,

danke für die schnelle Antwort. Ich habe hier nach dem Stichwort gesucht.
Bekomme ich damit den Elternprozess?
Prozessliste

[edit=Luckie] Mfg, Luckie[/edit]
// NACHTRAG:
Delphi Version?
Types muss unter USES eingebunden werden wegen DWORD.
In Delphi 7 wird MAX_Path nicht erkannt... :(

Luckie 15. Aug 2006 10:14

Re: Aufrufer einer Datei/Programmes lokalisieren
 
Eher hiermit: http://www.michael-puff.de/Developer...rocListCls.pas

Go2EITS 15. Aug 2006 10:18

Re: Aufrufer einer Datei/Programmes lokalisieren
 
Liste der Anhänge anzeigen (Anzahl: 2)
Vielen Dank Luckie. :thumb:
Das probiere ich jetzt aus. Mal sehen wer der [irgendein legitimes Schimpfwort] ist, der da auf meinen Rechner/Daten zugreifen will.

Beste Grüße!
Go2EITS

//NACHTRAG:
Ich habe es probiert. Mit der Unit von Lukie komme ich leider nicht klar. Die Unit ist gut und schön, aber wohl eher für die Fortgeschrittenen. Mir fehlen einfach Beispiele für Aufrufparameter, Initalisierungen, Beispiele. OOP ist nicht mein Ding. Ich stelle mal mein Prog hier rein, in der Hoffnung, dass ich nicht erst acht Tage OOP lernen muss, um mit der Unit umgehen zu können. Dann ist es ein wenig einfacher für Euch und auch mich. (Ich habe natürlich schon gegoogelt und auch bei MSN reingesehen, ohne Erfolg.)

Hier der Button3, der eigentlich den Parentprozess holen soll und dann:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
VAR P:Tproclist;
begin
//Das klappt noch...
p.create;
//p.execute; ...schon nicht mehr...

// Es geht wahrscheinlich so:
//       Aufrufer übergibt Passwort an Dummy.exe, dann wird über Shellexecute das ursprüngliche
//       Programm (wurde sicherheitshalber umbenannt) ausführen.
//       Damit ist alles OK!
//
//       Hier die Strategie, wenn der Aufrufer "nicht autorisiert" ist.
//       Aufrufer übergibt kein Passwort dann:
//       Aufrufer ID holen
//       AufruferNAmen holen (Datei,Prozess)
//       User fragen, ob ausführen erlaubt ist, wenn ja, mit shellexecute ausführen,
//       wenn nicht:
//       Aufrufer prüfen ob: IsService then KillService
//                           Not Isservice then KillProg
//       Ich gehe davon aus, das ein normalers Programm anders gekillt wird als ein Service.
//       
end;
Soweit mein Grobentwurf.

Es wäre nett, wenn sich das jemand anschaut.
Beste Grüße!

Go2EITS 15. Aug 2006 12:47

Re: Aufrufer einer Datei/Programmes lokalisieren
 
Unechter Push, das ich obigen Artikel ergänzt habe und das Problem konkret darstelle und den Beitrag um das Projekt im Anhang erweitert habe.
(Für die Neuen: Pushen ist erst nach 24 Std. erlaubt!) :warn:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz