Trojaner-Board

Trojaner-Board (https://www.trojaner-board.de/)
-   Alles rund um Windows (https://www.trojaner-board.de/alles-rund-um-windows/)
-   -   Prozessabfrage via Batch? (https://www.trojaner-board.de/82139-prozessabfrage-via-batch.html)

Computerkind 24.01.2010 19:16

Prozessabfrage via Batch?
 
Hey Com!

Ich hab eine frage, und zwar möchte ich eine Batch schreiben die,
wenn ein bestimmtes Programm gestartet wird, bspw. firefox.exe,
einen Text in eine *.txt schreibt...

Das mit dem einen Text in eine txt schreiben bekomm ich noch hin :)
aber ich kenn keinen Befehl der Die Prozessliste abfragt oder soetwas...

Meine Frage nun:
Kann Batch das überhaupt?
Wenn Ja kann mir jmd den Code sagen?

Das währe nett
lg Marek

cosinus 25.01.2010 12:46

Hallo,

ich glaube das ist so mit ner Batch nicht möglich. Um die Prozesse zu "überwachen" müsste Deine Batch ja ständig im Hintergrund laufen. Du könntest mal mit dem Befehl tasklist und den Scheduled Tasks experimentieren...zB jede Minute die laufenden Prozesse mit dem tasklist Befehl ansehen und in eine Logdatei schreiben.

Yoshi- 25.01.2010 15:45

Erstelle einfach an stelle der firefox.exe eine Batch datei
und geb ihr das ff icon und starte darüber eine umbenannte version des FF

Shadow 25.01.2010 16:24

wieso umbenennen?
Das würde ich definitiv eher nicht tun.

Umbenennen, falls es nicht der eigene PC ist, ist immer schon sehr sehr kritisch zu sehen, falls es der eigene PC ist, warum? Du schießt dir bestenfalls nur ins Knie, denn es ist unnötig.

Wenn ein Programm "firefox.exe" aufruft, dann geht eine (normale) Batch sowieso nicht (batch2exe wäre nötig mit Ersetzen der regulären exe-Datei), aber jedes Programmupdate würde in die Hose gehen oder einfach die die exe-Datei neu erstellen oder überschreiben.

Wird die Batch in eine COM-Datei konvertiert, wird sie vor der exe abgearbeitet. batch2com oder bat2com o.ä. in Google IIRC

KarlKarl 25.01.2010 19:57

Hi,

Batchdatei wird vielleicht wirklich schwierig, aber Windows hat seit vielen Versionen was viel besseres. Kopiere den folgenden Code in eine Datei monitor.vbs
Code:

option explicit

dim ende, limitt : limitt = 1/(24*60)
dim wsh, fso
dim logn, logf, errn
dim wmi, evsource, evobject

on error resume next
set wsh = CreateObject ("Wscript.Shell")
errn = Err.Number : Err.Clear
on error goto 0
if errn <> 0 then Wscript.Echo "init error: no Shell" : Wscript.Quit
on error resume next
set fso = CreateObject ("Scripting.Filesystemobject")
errn = Err.Number : Err.Clear
on error goto 0
if errn <> 0 then Wscript.Echo "init error: no Filesystemobject" : Wscript.Quit

logn = wsh.Environment ("Process")("Temp") & "\monitor.log"
on error resume next
set logf = fso.CreateTextFile (logn, true)
errn = Err.Number : Err.Clear
on error goto 0
if errn <> 0 then Wscript.Echo "init error: no log file" : Wscript.Quit

Set wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set evsource = wmi.ExecNotificationQuery("SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'")

ende = now + limitt
wscript.echo "logging from " & now & " to " & ende

do while now < ende
    Set evobject = evsource.NextEvent
    logf.WriteLine now & " " & evobject.TargetInstance.Name & " " & evobject.TargetInstance.ExecutablePath & " " & evobject.TargetInstance.ParentProcessId
loop

logf.Close
wsh.Run "notepad.exe " & logn
Wscript.Quit

limitt in der dritten Zeile muss die Dauer gemessen in Tagen enthalten, wie lange der Prozessstartmonitor mindestens laufen soll. Der Wert da oben ist eine Minute. Es kann sein, dass er länger läuft, da die Endebedingung nur geprüft wird, wenn ein Prozess gestartet wurde. Dann ist hier gerade in Notepad erschienen:
Zitat:

25.01.2010 19:52:28 notepad.exe C:\WINDOWS\system32\notepad.exe 2652
25.01.2010 19:52:31 calc.exe C:\WINDOWS\system32\calc.exe 2652
25.01.2010 19:52:40 cmd.exe C:\WINDOWS\system32\cmd.exe 2652
25.01.2010 19:53:48 cmd.exe C:\WINDOWS\system32\cmd.exe 2652
Und wenn es wirklich eine Batchdatei sein muss, ist es einfach den Code oben aus einer Batchdatei heraus in eine VBS-Datei zu schreiben und dann zu starten.

Computerkind 26.01.2010 16:48

Dickes THX :)
das is ungefähr das was ich gesucht hab!
daanke

Marek


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:58 Uhr.

Copyright ©2000-2025, Trojaner-Board


Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131