Entwickler-Ecke
Windows API - Name des Prozesses meines Programmes ändern.
theevilworm - So 24.01.10 21:29
Titel: Name des Prozesses meines Programmes ändern.
Hallo,
mir kam eben diese Frage, und überraschenderweise hab ich nichts dazu in der Suche hier und auch beim Delphitreff gefunden.
Wundert mich, hätte schwören können, dass jemand mal das gleiche gefragt hat.
Gibt es eine Möglichkeit, zu bestimmen, wie der Prozess meines Programmes im Taskmanager heißt? Bei all meinen Programmen ist es so, dass sich der Prozess immer danach richtet, wie die Datei heißt. Kann ich das nicht bestimmen?
Moderiert von
Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am So 24.01.2010 um 22:26
Bernhard Geyer - So 24.01.10 21:42
Auf welcher Seite? Bei der Liste der Anwendungen oder bei der Liste der Prozesse?
theevilworm - So 24.01.10 21:46
Möglichst bei beidem, aber speziell gehts mir jetzt um den "Prozess"-Reiter.
Delete - So 24.01.10 21:48
Dann benenn die Datei um, wenn der Dateiname nicht deinen wünschen entspricht. Und was für eine Rolle spielt der Name des Prozesses? Für dein Vorhaben kann ich mir nur einen Grund vorstellen und den finde ich nicht gut.
theevilworm - So 24.01.10 22:06
Hallo, ich kann mir schon denken, was du denkst: Ich will kein Scriptkiddy-Virus basteln ;)
Es kam mir in den Sinn, als ich eine Runde Call of Duty gedaddelt habe, und die Datei iw4mp.exe (wie auch der Prozess heißt) umbenannt habe in Callofduty4.exe, und nachdem ich den Prozess killen wollte, mir aufgefallen ist, dass er immernoch iw4mp.exe heißt, obwohl ich die Datei umbenannt habe.
Ich habe das umbenannt, weil ich dachte, dass ich so CoD zweimal starten könnte, wenn der Prozess nicht schon vorhanden ist. Aber er hieß trotzdem noch iw4mp.exe. Klappt also nicht.
Und jetzt frage ich mich, wie ich das auch machen kann, sodass z.B. meine Programme immer Theevilworm.exe heißen, falls ich mal eines an einen Klassenkameraden sende, damit er nicht behaupten kann, es stamme von ihm (ich weiß, dass ich das durch ein einfachen Label im Programm machen kann. Es geht mir nur darum, etwas zu lernen)
Astat - So 24.01.10 22:22
Hallo theevilworm, COD benutzt einen Loader für das eigentliche Programm, wie viele andere Games auch.
Das funktioniert in etwa immer auf solche oder ähnliche weise.
1. Loader.exe wird gestartet
2. Loader.exe startet das zugehörige PE-File, dass kann xbeliebig heissen, denn der Windows-Loader pruft nur den PE-Header
wird ein solcher erkannt, wird das File executiert.
2.1 Oder Loader Exe extrahiert aus Resource oder mitkompillierten Binary-Daten die eigentliche Anwendung und startet diese.
2.2 Oder der Loader injekted Code, hier wieder x beliebiges PE-File in einen schon laufenden Prozess z.B, Winlogon.exe
svchost.exe, Explorer Exe usw.
lg. Astat
theevilworm - So 24.01.10 23:05
Hallo,
vielen Dank für deine Antwort, doch ich werde daraus nicht so richtig schlau! So lange habe ich noch nicht mit der Materie zu tun. Gibt es für mich also keine einfache Möglichkeit, es mit meinen Programmen genauso zu machen wie CoD?
jaenicke - So 24.01.10 23:09
theevilworm hat folgendes geschrieben : |
Gibt es für mich also keine einfache Möglichkeit, es mit meinen Programmen genauso zu machen wie CoD? |
Die Original-Exe
anhängen [
http://www.delphi-forum.de/viewtopic.php?t=89659] und auspacken, dann diese starten.
Sinnvoll ist das aber nicht, es reicht doch, wenn du die Copyright-Informationen (in den Versionsinfos) in den Projektoptionen setzt und ebenfalls dort den Namen deiner Anwendung setzt. Das lässt sich zwar auch ändern, aber nicht ganz so simpel wie die Exe umzubenennen.
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!