AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Tastatur/Maus-Hook: Internet Explorer stürzt wegen DLL ab
Thema durchsuchen
Ansicht
Themen-Optionen

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

Offene Frage von "blackdrake"
Ein Thema von blackdrake · begonnen am 3. Dez 2008 · letzter Beitrag vom 8. Dez 2008
 
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#28

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

  Alt 7. Dez 2008, 10:26
Zitat von blackdrake:
Irgendwie ist das alles ein bisschen unkonsistent. Es hieß, dass S... inkompatibel ist mit PS..., weswegen ich einfach den Pointer von S... genommen habe, also einfach ein @ daran gehängt. Eigentlich sollte ja der Name vor dem "P" eindeutig sein, oder? Ich habe ja lediglich einen Pointer gegeben, wo ein Pointer verlangt wurde. Das verwirrt mich irgendwie.
Ich gebe ja zu, dass es verwirrend ist. Diese Definition:
Delphi-Quellcode:
  Pxxx = ^XXX;
  LPxxx = ^XXX;
wurde konsequent überall verwendet, und ist erst jetzt durch die unterschiedliche Verwendung in der JWA und JWSCL zum Problem geworden. Eigentlich sollte es dasselbe sein und deshalb habe ich es auch geändert (SVN: 0.9.2a + trunk).

Zitat von blackdrake:
Hört sich ein bisschen kompliziert an. Ich habe mit dem "nil" ein Problem: Ich denke, dass "nil" soviel wie "leere ACL-Liste" bedeutet. Und da Windows bei Dateirechten die Regel Deny-Before-Allow verwendet, müsste eine leere Liste einen Zweifelsfall darstellen (in diesem Fall einen nicht definierten Fall 0-0), bei dem Windows sich für Deny entscheiden muss (deswegen vielleicht der Fehler "mapping file could not be accessed"?)
Denke dir einfach:
nil = garkeine DACL-Klasse und damit Vollzugriff für jeden
leere DACL-Klasse und damit Verweigerung für jeden



Zitat von Apollonius:
Soweit ich das weiß, sind Mandatory Label und Integrity Label tatsächlich Synonyme.
Das ganze Prinzip nennt man "Integrity Level".
Prozesse haben ein "Integrity Level" definiert in ihrem Token (Gruppe). Integrity Levels (=Verbindlichkeitsstufen) sind vordefinierte Benutzergruppen,
die jedoch nicht über den Benutzermanager zuweisbar sind. Hier sind die SIDs:
Delphi-Quellcode:
const JwLowIL = 'S-1-16-4096';
      JwMediumIL = 'S-1-16-8192';
      JwHighIL = 'S-1-16-12288';
      JwSystemIL = 'S-1-16-16384';
      JwProtectedProcessIL = 'S-1-16-20480';
In DACLs kommen Mandatory Labels (Verbindliche Beschriftungen) = ACE zum Einsatz, die eine Verbindlichkeitsstufen aufnehmen.

Man verwendet also eine "Verbindliche Beschriftung" TJwSystemMandatoryAccessControlEntry und definiert im Konstruktor, welche Stufe es haben soll (und noch ein Flag).
Delphi-Quellcode:
 MANDATORY_LEVEL = (
    MandatoryLevelUntrusted, {= 0}
    MandatoryLevelLow,
    MandatoryLevelMedium,
    MandatoryLevelHigh,
    MandatoryLevelSystem,
    MandatoryLevelSecureProcess, //MS vorbehalten
    MandatoryLevelCount);
Das sind die Stufen für die verbindliche Beschriftung. Daher werden sie von MS auch verbindliche Stufen genannt (nur um noch mehr Verwirrung zu stiften). Man hätte auch die Verbindlichkeitsstufen (=Gruppen) direkt als ACE einfügen und es mit dem ACE Typ "Integrity" versehen können (So macht es die JWSCL).

Die Flags (MandatoryPolicy) definieren, ob andere Objekte mit einem kleineren I.Level, das eigene Objekt schreiben, lesen und/oder ausführen können. Man setzt es, um dies zu verbieten.
Delphi-Quellcode:
type
  TJwMandatoryPolicy = (mpNoWriteUp, mpNoReadUp, mpNoExecuteUp);
  TJwMandatoryPolicyFlagSet = set of TJwMandatoryPolicy;
TJwSystemMandatoryAccessControlEntry setzt eine leere Policy Menge!
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz