Einzelnen Beitrag anzeigen

CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#1

OpenEventLog: wie lpSourceName herausfinden?

  Alt 14. Jan 2022, 20:16
Ich möchte OpenEventLog benutzen, um das Windows Defender-Log zu durchstöbern. Dazu muss ich den Namen des Logs übergeben, den ich einfach nicht rausfinde. Kann mir jemand helfen?

Code:
HANDLE OpenEventLogA(
  [in] LPCSTR lpUNCServerName,
  [in] LPCSTR lpSourceName
);
Im Event Viewer findet sich das Log unter:
Event Viewer (Local) > Applications and Services Logs > Microsoft > Windows > Windows Defender > Operational
In den Log Properties findet sich der "Full Name" des Logs als:
Microsoft-Windows-Windows Defender/Operational
Als Source findet sich in den Events:
Windows Defender
Die Datei, die das Log beinhaltet, befindet sich in:
%SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-Windows Defender%4Operational.evtx
Und der zugehörige Registry-Eintrag findet sich unter):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\EventLog\System\WinDefend
Laut Doku wäre das passend, denn:
Zitat:
The source name must be a subkey of a logfile entry under the EventLog key in the registry.
Als Test habe ich einen kleinen Viewer gebaut, der andere Logs schon lesen kann. Das klappt je nach Log einfach bis gar nicht:

Code:
   // standard names seem to work easily:
   NewTabSheet('Application');
   NewTabSheet('System');

   // these have files with same name, and registry entries with name/name, and work:
   NewTabSheet('Veeam Agent');
   NewTabSheet('Spybot 3');

   // failing attempts to access the Windows Defender Log:
   //NewTabSheet('Microsoft-Windows-Windows Defender/Operational');
   //NewTabSheet('Microsoft\Windows\Windows Defender\Operational');
   //NewTabSheet('Microsoft-Windows-Windows Defender');
   //NewTabSheet('Microsoft\Windows\Windows Defender');
   //NewTabSheet('Windows Defender');
   //NewTabSheet('WinDefend');
Aus welchem Namen muss ich den Namen des lpSourceName-Parameters herleiten?
(und wie ist der mit dem Namen in der Registry verknüpft, die brauche ich ja, um die Dateinamen der Message-DLL(s) dazu zu bekommen)

Laut Doku wäre es ja WinDefend, aber dabei erhalte ich das übergeordnete "System"-Log, mit keinem einzigen Eintrag, der "passt" (also auch filtern nicht hilfreich).

Bin für jeden weiteren Tipp dankbar

Geändert von CCRDude (14. Jan 2022 um 20:44 Uhr)
  Mit Zitat antworten Zitat