Kommunikation zwischen 2 Prozesse



  • Hallo!
    An meinem PC in der Arbeit laufen 2 Prozesse (eigenständige) die sich kommunizieren. Mein Arbeitgeber will, dass ich versuche, herauszufinden wie die Kommunizieren. Ich hab im gesagt, dass sowas nicht möglich ist ohne Quellcode aber er meint ich soll erstmal nachfragen. Es kann im kernel level oder im user lvl sein. Welche Möglichkeiten gibt es, dass zwei Prozesse miteinander kommunizieren und wie kann ich herausfinden wie sie es tun?



  • Keine einfache Sache.

    Ich fürchte dass du die Prozesse mit einem Reverse Engineering Tool wie IDA Pro Free anschauen musst.

    Wenn du nämlich einen Prozess in IDA Pro Free lädst kannst du im Fenster "Names window" eine Liste aller gefundenen Namen in Executable anschauen. Und darunter findet sich halt auch die Liste aller "Regular Functions", welche dir einen groben Tip geben könnte wie die Prozesse kommunizieren könnte. Vorausgesetzt du kennst dich mit der WinAPI und den Interprozesskommunikation gut aus.


  • Mod

    z.b. Mit dem ProzessExplorer von Sysinternals. Sofern irgend ein File I/O verwendet wird bekommt man das mit.
    Ansonsten Spy++ um Nachrichten zu prüfen. Damit kommz man evtl. auch COM auf die Schliche.



  • ok danke ich probiere es mal. Reversen kann ich es leider nicht, da es Temida benutzt.



  • wo genau muss ich bei Process Explorer schauen?
    Da ist ja bei den eigenschaften ne Group box die I/O heißt und da ändern sich auch paar sachen aber was genau heißt das und welche Kommunikation ist das?


  • Mod

    Oder habe ich das mit dem Process Monitor verwechselt. Man kann mit einem von beiden den gesamten I/O Monitoren. Zumindest welche Dateien benutzt werden.



  • Also ich kenne 2 Arten der Kommunikation.
    1. Windows Messages
    2. Pipes (oder so ähnlich)

    Vielleicht ist es ja eins von beiden.



  • @ItsReiko:
    Ausprobieren kann man es aber auch mal. Mal will sich ja nur die benutzten WinAPI Funktionen des Prozesses anschauen und nicht das Programm wirklich Reverse Engineeren. Das Tool Themida wird in dieser Hinsicht vermutlich nur das Debuggen des Prozesses verhindern wollen. Ein komplettes Reverse Engineering macht hier auch keinen Sinn, denn erstens kostet Reverse Engineering viel Zeit und zweistens verstößt es gegen das Copyright des jeweiligen Programms.

    @Deforation:
    Ich kenne da noch:
    3. Shared Memory
    4. Mutex
    5. Mailslots
    6. Sockets
    7. File
    8. Registry
    9. COM
    10. Shared DLL


Anmelden zum Antworten