Woher wissen, welche Privilegien man braucht?



  • Hallo!

    Wie soll man erfahren, welche Privilegien man für eine bestimmte Aktion benötigt?
    Zum Beispiel schlägt WriteProcessMemory() fehl, wenn ich "SE_DEBUG_NAME" nicht setze.
    Toll, und woher soll man das wissen?

    Braucht man Privilegien für CreateFile() mit GENERIC_WRITE?

    Es wird davon ausgegangen, dass jede Applikation mit Admin-Rechten ausgeführt wird.

    😕


  • Mod

    Privilegierter schrieb:

    Wie soll man erfahren, welche Privilegien man für eine bestimmte Aktion benötigt?

    Indem man zum Beispiel die MSDN Doku liest!
    http://msdn.microsoft.com/en-us/library/ms681674(VS.85).aspx

    Zum Beispiel schlägt WriteProcessMemory() fehl, wenn ich "SE_DEBUG_NAME" nicht setze.
    Toll, und woher soll man das wissen?

    Falsch! Man benötigt PROCESS_VM_WRITE/PROCESS_VM_OPERATION access!
    Lies die Doku (s.o.)

    Braucht man Privilegien für CreateFile() mit GENERIC_WRITE?

    Du brauchst die Rechte um die Datei dort zu öffnen wo sie eben liegt.
    Ansonten keine Priviligien. Lies dieDoku. Da steht doch alles.

    Es wird davon ausgegangen, dass jede Applikation mit Admin-Rechten ausgeführt wird.

    Ernsthaft, das hast Du gedacht? Alle Prozesse als Admin? Das wäre ja eine Katastrophe!
    Dann wird Dich UAC von Vista noch mehr verblüffen. 🤡 Da bist Du nicht mal Admin wenn Du Admin bist..



  • Martin Richter schrieb:

    Ernsthaft, das hast Du gedacht? Alle Prozesse als Admin? Das wäre ja eine Katastrophe!
    Dann wird Dich UAC von Vista noch mehr verblüffen. 🤡 Da bist Du nicht mal Admin wenn Du Admin bist..

    Das bist du nichtmal unter XP zwingend...

    Aber zurück zum Topic => entweder msdn.com oder wenn dir das zu viel ist reicht es wenn du die Funktion schreibst und dann F1 drückst (gehe mal davon aus, dass du Visual Studio benutzt...)



  • Martin Richter schrieb:

    Indem man zum Beispiel die MSDN Doku liest!
    http://msdn.microsoft.com/en-us/library/ms681674(VS.85).aspx

    Ich schaue immer in das MSDN. Bin ganz und gar nicht lesefaul. Aber anscheinend zu kleinlich um mich mit der Information dort zufrieden zu geben.

    Aber ich hätte weiter lesen sollen, bis zu OpenProcess()...
    Also OpenProcess() braucht entweder den richtigen Security Descriptor oder einfach das Debug Privilege, um alles zu erlauben. Und WriteProcessMemory() braucht PROCESS_VM_WRITE/PROCESS_VM_OPERATION von OpenProcess(). OK erledigt.

    Martin Richter schrieb:

    Ernsthaft, das hast Du gedacht? Alle Prozesse als Admin? Das wäre ja eine Katastrophe!
    Dann wird Dich UAC von Vista noch mehr verblüffen. 🤡 Da bist Du nicht mal Admin wenn Du Admin bist..

    Sorry, ich meinte jede meiner Applikationen.

    Vermillion schrieb:

    Aber zurück zum Topic => entweder msdn.com oder wenn dir das zu viel ist reicht es wenn du die Funktion schreibst und dann F1 drückst (gehe mal davon aus, dass du Visual Studio benutzt...)

    F1 -> Information not found 👍


Anmelden zum Antworten