Español
Foro

API CreateProcessAsUser

 
¡Hola Profaner...

Folgender Code (NT/2000/XP) bringt en me beim Starten el EXE bajo una Usernamen con eingeschränkten Rechten una Fehlermeldung. Wenn Yo el EXE bajo una Adminprofile starte, hauts halbwegs hin. Eingelogt Yo mich incluso como Admin con ausreichenden Rechten (no 1314 Fehlermeldung).
Was mache Yo falso???
KompilierenMarcaSeparación
DEF @LookupAccountName(7) !"advapi32","LookupAccountNameA"
DEF @LogonUser(6) !"advapi32","LogonUserA"
DEF @CreateProcessAsUser(11) !"advapi32","CreateProcessAsUserA"
DEF @SetLastError(1) !"kernel32","SetLastError"
DEF @GetLastError(0) !"kernel32","GetLastError" Liefert letzten API Fehler.
DEF @ZeroMemory(2) ! "Kernel32","RtlZeroMemory"
DEF @CloseHandle(1) !"kernel32","CloseHandle" Schließt ein Handle (Programm).
Declare Protokoll&,FEHLER&,DOMAIN$,SID_Size#,lpStartupInfo#,lpProcessInformation#
Declare lpCommandLine#,DOMAINNAME_SIZE_ADDR#
Declare SID#,DOMAIN#,SID_TYPE_INDICATOR#,DOMAIN#,Attribut#,ALLPRIVS#,COUNT#,SID#
DIM DOMAIN#,256
DIM SID#,800
DIM SID_Size#,4
DIM DOMAINNAME_SIZE_ADDR#,4
DIM SID_TYPE_INDICATOR#,256

Proc StartWithUserRights

    @ADDSTRING(Protokoll&,"Start der Prozedur zum Impersonifizieren anderer User")
    Parameters PUSERNAME$,PPASSWORT$,PPROGRAMM$
    Declare UserHandle&,UserHandle#
    DIM UserHandle#,4
    CLEAR SID#,DOMAIN#,SID_TYPE_INDICATOR#,DOMAIN#,SID#,DOMAINNAME_SIZE_ADDR#
    Long SID_Size#,0=800
    LONG DOMAINNAME_SIZE_ADDR#,0=255
    LET Fehler&=@LookupAccountName(0,@addr(PUSERNAME$),SID#,SID_Size#,DOMAIN#,DOMAINNAME _SIZE_ADDR#,SID_TYPE_INDICATOR#)
    @ADDSTRING(Protokoll&,"Fehler LookupAccountName: "+@str$(Fehler&))
    LET DOMAIN$=@STRING$(DOMAIN#,0)
    @ADDSTRING(Protokoll&,"Domain: "+DOMAIN$)
    @SetLastError(0)
    LET FEHLER&=@LogonUser(@addr(PUSERNAME$),@ADDR(DOMAIN$),@ADDR(PPASSWORT$),2,0,UserHa ndle#)
    @ADDSTRING(Protokoll&,"Fehler LogonUser: "+@str$(Fehler&))
    @ADDSTRING(Protokoll&,"Letzter API Fehler: "+@str$(@GetLastError()))
    Let UserHandle&=@LONG(UserHandle#,0)
    @ADDSTRING(Protokoll&,"UserHandle: "+@str$(UserHandle&))
    Dim lpStartupInfo#,68
    ZeroMemory(lpStartupinfo#,68)
    Long lpStartupInfo#,0=68
    Dim lpProcessInformation#,16
    Dim lpCommandLine#,@len(PPROGRAMM$)+1
    ZeroMemory(lpProcessInformation#,16)
    String lpCommandLine#,0=PPROGRAMM$
    LET FEHLER&=@CreateProcessAsUser(UserHandle&,0,lpCommandLine#,0,0,0,0,0,0,lpStartupI nfo#,lpProcessInformation#)
    @ADDSTRING(Protokoll&,"Fehler CreateProcessAsUser: "+@str$(Fehler&))
    @ADDSTRING(Protokoll&,"Letzter API Fehler: "+@str$(@GetLastError()))
    LET FEHLER&=@CloseHandle(UserHandle&)
    @ADDSTRING(Protokoll&,"Fehler CloseHandle: "+@str$(Fehler&))
    Dispose UserHandle#
    Dispose lpStartupInfo#
    Dispose lpProcessInformation#
    Dispose lpCommandLine#
    @ADDSTRING(Protokoll&,"Ende der Prozedur zum Impersonifizieren anderer User")

ENDPROC

CLS
LET Protokoll&=@createlistbox(%HWND,"",10,10,600,400)
StartWithUserRights @INPUT$("Bitte einen Usernamen eingeben: ","Login Name?",""),@INPUT$("Bitte das Passwort dazu eingeben: ","Passwort?",""),,@LoadFile$("EXE auswählen","*.EXE")
Dispose DOMAIN#
Dispose SID_Size#
Dispose DOMAINNAME_SIZE_ADDR#
Dispose SID_TYPE_INDICATOR#
Dispose SID#
/../funktionsreferenzen/XProfan/waitinput/'>Waitinput
 
19.12.2004  
 



¡Hola Andreas...

Yo glaube DuplikateTokenEx Es el Solución dein Problema....
 
19.12.2004  
 



¡Hola Andreas...

JA GENAU. Das muß lo ser! Besten Dank, Andreas...

 
19.12.2004  
 




Frank
Abbing
Hi,

Yo glaube, du hast hier una Thema angesprochen, el el breite Mehrheit más scheut. Darum el Selbstgespräche?
 
19.12.2004  
 



Algo como Yo ehrlichgesagt auch todavía no erlebt - AH el es echt scharf - Yo glaube aber en diesem Gebiet bist Usted hier el Profi por qué Usted desafortunadamente bisher niemand half. (<-- helfen podría, geholfen hatte, ... )

Salve, IF
 
19.12.2004  
 



¡Hola ihr beiden...


Yo me sólo veces a la leinen Spaß gegönnt, a Unterhaltung algo anzuregen. Bin así ya una klein bischen más, tener el Solución aber siempre todavía no komplett.

Yo bin en el Augenblick esta, Privaktivate algo a erweitern. Das Hinzufügen de Privilegien a bestehenden Accounts Yo ya instalado (se ejecuta bestens).
Privaktivate se demnächst also bestehende Privilegien aktivieren y no vorhandene Privilegien hinzufügen könen.
Yo möchte bastante gerne ni RunAs Función con einbauen - como hakt lo aber en el Augenblick todavía cómo sieht.
Auch una Función para Knacken de Login Passwörter schwebt me en el Augenblick en el Kopf herum, dafür se Profano pero probablemente a langsam ser.

Damit, el No großartig uno weiterhelfen kann, Yo eigentlich ya gerechnet. Weltweit son a diesem Thema kaum irgendwelche vernünftigen Artikel y Postings para encontrar. El meisten hatten como irgendwelche Fragen a Temas Privilegien y impersonifizieren de Usern el keiner vernünftig beantworten podría.
En vielen Quelltexten podría Yo como Principiante incluso ya sagen, wo lo como hakt, sin überhaupt el Lenguaje de programación a puede, en el el Ver código fuente geschrieben wurde...

Das el breite Mehrheit dieses Thema scheut, finde Yo muy schade, como esta Sachen wohl el eigentliche Grund son, por qué 2000 y XP en NT-Technologie basieren...
 
20.12.2004  
 



Como kann Yo sólo sagen wir freuen uns ya en una höllisch-gute PCU .

Si usted magst - wegen el Andeutung Profano wäre como a langsam - bau Yo Usted para esta Unterfunktion ne DLL. Muddu sólo genau sagen lo que el Tun se. Dank Franco Abbings Datengenerator könntest entonces esta ca. 4kb große dll simplemente en deine PCU tun y uno debería no DLL mitführen.

Salve, IF
 
20.12.2004  
 



Ok, Problema es gelöst. Wenn el una API no voluntad, por qué no veces una neue Testen?

Lo lag en el Endeffekt doch no a DouplicateTokenEx, Yo hatte wohl ya una PrimaryToken, pero lo lag y liegt wohl direkt a CreateProcessAsUser. Como scheint lo me irgendwo a Zugriffsberechtigung a fehlen y lo kann deshalb kein vernünftiges Ventana genera voluntad. Bin ahora a CreateProcessWithLogonW übergeschwenkt - haut super hin y es muy simplemente a handhaben.

Yo habe a veces [...]  una Vorabversion de PrivAktivate 2.1 hochgeladen.
Was me hier bajo anderem no tan bien gefällt:
- Vorhandene Privilegien voluntad no adecuado
- Wenn Privilegien fehlen, sieht uno dies sólo en el Ablaufprotokoll

Zu el Passwortgeschichte: Yo habe incluso ya a una MSAM32 DLL pensamiento - son aber en el Augenblick sólo Hirngespinste. Über vernünftige Wörterbücher müßte todos en cada Fall a regeln ser. El Sache es eigentlich bastante primitiv y en Anfängerniveau - uno braucht sólo encima el Rumpelstilzchenprinzip nachzufragen - Windows son brav y artig siempre el richtige Antwort. Alzuviele Privilegien dürften ebenfalls dafür no nötig ser...
 
20.12.2004  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

5.194 Views

Untitledvor 0 min.
H.Brill19.04.2022
ChristopH22.02.2012

Themeninformationen

Dieses Thema ha 2 subscriber:

unbekannt (7x)
Frank Abbing (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie