Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Prozesse mit MD5 Hash auflisten?
Marwyc
myCSharp.de - Member



Dabei seit:
Beiträge: 15

Themenstarter:

Prozesse mit MD5 Hash auflisten?

beantworten | zitieren | melden

Hallo, ich suche schon lange nach einer Möglichkeit aktuelle Prozesse in MD5 Hash aufzulisten sowie neue Prozesse in MD5 anzeigen zu lassen.

Beispiel:

New Process started "explorer.exe" size:62933kb Hash:"XXXXXXXXXXXXXXX"
Process end "explorer.exe" size:62933kb Hash:"XXXXXXXXXXXXXXX"

Sowie:

explorer.exe size:62933kb Has:"XXXXXXXXXXXXXX"
Steam.exe Size:29100kb hash:"XXXXXXXXXXXX"
xxx.exe usw.


Ein Freund von mir sagte mir es sei garnicht Möglich nur über eine .DLL

Hat jemand eine Lösung für mein Problem?

mfg
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Marwyc am .
private Nachricht | Beiträge des Benutzers
der-schlingel
myCSharp.de - Member

Avatar #avatar-3239.jpg


Dabei seit:
Beiträge: 820
Herkunft: Österreich/Wien

beantworten | zitieren | melden

Zum einen ist es möglich eine Liste aller laufenden Prozesse zu bekommen mit GetProcess aus der Process-Klasse.

Meines Wissens ist es nicht möglich einen Event ala ProcessStarted bzw. ProcessCreated zu abonnieren aber per Polling könntest du alle paar Sekunden checken ob die letzte Prozessliste noch aktuell ist.

Den MD5-Hash kannst du einfach aus der PID errechnen soweit kein Problem aber was genau meinst du mit:
Zitat
Ein Freund von mir sagte mir es sei garnicht Möglich nur über eine .DLL
?
As a man thinketh in his heart, so he is.
- Jun Fan
Es gibt nichts Gutes, außer man tut es.
- Erich Kästner
Krawutzi-Kaputzi
- Kasperl
private Nachricht | Beiträge des Benutzers
m0rius
myCSharp.de - Member

Avatar #avatar-3125.png


Dabei seit:
Beiträge: 1043

beantworten | zitieren | melden

Hallo Marwyc,

sieh dir mal die Klasse MD5CryptoServiceProvider zum Berechnen des MD5-Hashes an. Die Berechnung des Hashes hat mit der Verwendung von DLLS absolut nichts zu tun. Wie du an die laufenden Prozesse gelangst, hat ja der-schlingel schon beschrieben.

m0rius
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
private Nachricht | Beiträge des Benutzers
zommi
myCSharp.de - Member

Avatar #avatar-2617.png


Dabei seit:
Beiträge: 1380
Herkunft: Berlin

beantworten | zitieren | melden

Zitat
Den MD5-Hash kannst du einfach aus der PID errechnen soweit kein Problem aber was genau meinst du mit:
Wahrscheinlich geht es mehr um den Hash des Executables.

Könnte dann wie folgt aussehen:

MD5 md5Provider = new MD5CryptoServiceProvider();
foreach(Process process in Process.GetProcesses())
{
    Console.Write("\"{0}\" ", process.ProcessName);
    try
    {
        string fileName = process.MainModule.FileName;
        using(FileStream fs = File.OpenRead(fileName))
        {
            byte[] md5Bytes = md5Provider.ComputeHash(fs);
            string md5String = String.Join("", md5Bytes.Select(x => x.ToString("x2")));
            Console.WriteLine("size: {0}kb Hash: {1}", fs.Length / 1024, md5String);
        }
    }
    catch(System.ComponentModel.Win32Exception)
    {
        Console.WriteLine("<NoAccess>");
    }
}

beste Grüße
zommi
private Nachricht | Beiträge des Benutzers
Marwyc
myCSharp.de - Member



Dabei seit:
Beiträge: 15

Themenstarter:

beantworten | zitieren | melden

Hallo, danke für die Tipps und Beispiele.
Das man eine Prozessliste auslesen kann weiß ich.problematisch wurde es halt bei der MD5, ein Freund von mir sagte ich soll es in C++ machen und dann in C# einbinden. So oder so ähnlich. Leider behersche ich kein C++. Und ja es geht um die Hash von den Executables. Ich teste es nachher mal =) danke schön.
private Nachricht | Beiträge des Benutzers