Einzelnen Beitrag anzeigen

blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#24

Re: Tastatur/Maus-Hook: Internet Explorer stürzt wegen DLL a

  Alt 6. Dez 2008, 00:09
Hallo.

Vielen Dank für deine Antwort. Leider blicke ich immer noch nicht durch. Die Dokumentation von Delphi hilft mir leider auch nicht weiter.

Ich habe bei deinem Code noch ein @ hinzufügen müssen. Ich bekomme jetzt aber noch einen Accessed-Fehler beim erstellen der MMF.

Muss das DACL überhaupt gesetzt werden, oder ist es nicht der Standard-Fall, dass alle Benutzer (=Prozesseigentümer?) Lesezugriff auf die MMF haben?

Und bezüglich des SACL: Ich hoffe, ich habe das Integrity-Label nun korrekt gesetzt. In den Examples wird nur das Auslesen erläutert. Und außerdem bin ich ein bisschen Verwirrt durch die Bezeichnung Mandatory-Label und Integrity-Label (sind das Symonyme?)...

Delphi-Quellcode:
  Attrs: PSecurityAttributes;
  Desc: TJwSecurityDescriptor;
  ACE: TJwSystemMandatoryAccessControlEntry;
begin
  Desc := TJwSecurityDescriptor.Create;
  try
    {Verleiht allen Benutzern alle Rechte - also auch Schreibrechte!
    Wenn du sie auf Lesezugriff beschränken willst, musst du die DACL bis
    auf einen Eintrag lehren, der allen Benutzern Lesezugriff verleiht.}

    Desc.DACL := nil; // braucht man das?

    ACE := TJwSystemMandatoryAccessControlEntry.Create(MandatoryLevelLow); // oder MandatoryLevelUntrusted?
    try
      Desc.SACL.SetMandatoryLabel(ACE, cfPointAtInstance);
    finally
      ACE.Free;
    end;

    Attrs := Desc.Create_SA; //API-Struktur erstellen

    try
      hMapping := CreateFileMapping(INVALID_HANDLE_VALUE, @Attrs, PAGE_READWRITE,
                                    0, 4, MappingGUID);
    finally
      TJwSecurityDescriptor.Free_SA(Attrs);
    end;
  finally
    Desc.Free;
  end;
Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat