Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

AW: JWSCL: Prozess von Dienst starten im Benutzerkontext

  Alt 9. Mai 2011, 15:45
Bei mir unter Win 7 64 Bit ist sowohl der Service als auch der neue Prozess unter SYSTEM im Taskmanager angezeigt. Der Child Prozess gibt SYSTEM auch bei GetUserName() zurück. Das Benutzerverzeichnis wird korrekt verwendet, der Registry Hive ist allerdings komplett falsch gesetzt, also unbrauchbar für mich.

Das ganze soll ohne Manifest und ohne Dialog ablaufen.

Ich habe gelesen, dass ein normales Token ab Vista immer ein LinkedToken besitzt. Wenn man dieses an CreateProcessAsUser() übergibt, SOLLTE der Prozess elevated gestartet werden. Das Problem ist nur, dass folgender Code:
Delphi-Quellcode:
Result := WTSQueryUserToken(WTSGetActiveConsoleSessionId, hUserToken);
  if (not Result) then Exit;
  Result := GetTokenInformation(hUserToken, TokenLinkedToken, @hLinkedToken,
    SizeOf(hLinkedToken), ReturnLength);
jedes Mal mit FehlerCode 1312 "A specified logon session does not exist. It may already have been terminated." abbricht. Eventuell liegt es daran, dass ich die UAC deaktiviert habe? Ich teste das gleich mal auf ner VM. Bin für weitere Vorschläge dankbar!
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat