1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Moombas

Beiträge von Moombas

  • au3-2-exe

    • Moombas
    • 11. Mai 2022 um 14:31
    Zitat von Alina

    Moin.

    1.) Mit fehlt zur Zeit die datei:
    C:\Programme\AutoIt3\Aut2Exe\AutoItSC.bin
    Mal sehen wo ich die her bekomme.

    Die "Hello_World.au3" wird erstellt, aber ich möchte das daraus die "Hello_World.exe" wird und die "Hello_World.au3" später gelöscht wird.
    Das ist mein Problem. Die Hello_World.au3" ist ja nur ein Beispiel. Das umwandeln in eine EXE Datei ist das X( !

    Alles anzeigen

    Bin ich jetzt deppert?

    Das wird sie doch inmeinem Beispiel (bzw. deinem, nur korrigiert).

    AutoIt
    Opt('MustDeclareVars', 1)
    Global Const $source_script = "Hello_World.au3"
    Global Const $dest_script = "Hello_World.exe"
    
    Global Const $deine_Eingabe = InputBox("Geben Sie einen Text ein","")
    Global Const $test = "MsgBox(262144, 'Hello World', 'Dies ist ein Hello World Beispiel:' & @CRLF & '" & $deine_Eingabe & "')" & @CRLF & "Exit"
    
    FileWrite($source_script,$test)
    ShellExecute(@TempDir&'\Aut2Exe.exe', '/in ' & $source_script & ' /out ' & $dest_script,@ScriptDir)
    FileDelete($source_script) ;nun wegen deinem letzten Kommentar hinzugefügt
    ;GGf optional auch: If Fileexists($dest_script) then Run($dest_script)
    Exit
    Alles anzeigen
  • Status von Fingerabdruckscanner (Windows Hello) ermitteln

    • Moombas
    • 11. Mai 2022 um 10:55

    Ich denke es gibt halt unterschiedliche Sicherheitsebenen wo dieser angesprochen werden kann, idealerweise halt im BIOS, bevor irgendwas gemacht werden kann (wie bei dir). Aber hier geht es ja schon um den schon in Windoof eingeloggten Zustand und ein separates Programm.

    Wie man aber den BeispielCode von C# auf Autoit münzt, bin ich leider auch raus.

  • Status von Fingerabdruckscanner (Windows Hello) ermitteln

    • Moombas
    • 11. Mai 2022 um 10:26

    BugFix würde das hier: https://docs.microsoft.com/en-us/windows/…-passport-login deiner Aussage nicht widersprechen?

  • au3-2-exe

    • Moombas
    • 11. Mai 2022 um 10:19

    Hey Alina , was ist eigentlich hieraus geworden? Hatte meine Änderung dir geholfen oder fehlt noch etwas?

  • Status von Fingerabdruckscanner (Windows Hello) ermitteln

    • Moombas
    • 11. Mai 2022 um 08:43

    Naja bei den seltsamen Anfragen die hier manchmal eintrudeln ist eine gewisse Vorsicht schon angebracht.

    Aber aktuell ist mir kein Weg bekannt und kann dazu auch nichts fertiges im I-Net finden aber ich glaube Oscar hat sich da vor 10 Jahren mal beschäftigt aber da kein Ergenis im Beitrag zu finden ist gehe ich davon aus, das dies auch nicht erfolgreich war.

    Laut dem was ich aber finden konnte, brauchst du dazu die DLL des Fingerabdrucksensors, um ihn auslesen zu können. Ganz unabhängig von Windows selber.

    Du musst also eher nach der Hardware suchen als nach "Windowslösungen" und ggf. an den Hersteller heran treten. Das dürfte aber insbesondere bei den z.B. im Notebook integrierten Scanner ggf. schwierig sein das herauszufinden.

    Aber das ist nur eine Vemrutung da ich mich damit bisher garnicht beschäftigt habe.

  • Status von Fingerabdruckscanner (Windows Hello) ermitteln

    • Moombas
    • 11. Mai 2022 um 08:28

    Wieso Manipulation?

    Ich denke es geht eher darum diesen als "Login-Variante" nutzen zu können, da nur der Status abgefragt wird und nicht in ihn "eingegriffen" werden soll.

    Zumindest hätte ich dies so verstanden.

  • au3-2-exe

    • Moombas
    • 5. Mai 2022 um 14:59

    Das mit deinem Fileinstall habe ich bei mir aus Testgründen weggelassen aber der Rest würde so funktionieren:

    AutoIt
    Opt('MustDeclareVars', 1)
    Global Const $source_script = "Hello_World.au3"
    Global Const $dest_script = "Hello_World.exe"
    
    Global Const $deine_Eingabe = InputBox("Geben Sie einen Text ein","")
    Global Const $test = "MsgBox(262144, 'Hello World', 'Dies ist ein Hello World Beispiel:' & @CRLF & '" & $deine_Eingabe & "')" & @CRLF & "Exit"
    
    FileWrite($source_script,$test)
    ShellExecute(@TempDir&'\Aut2Exe.exe', '/in ' & $source_script & ' /out ' & $dest_script,@ScriptDir)
    ;GGf optional auch: If Fileexists($dest_script) then Run($dest_script)
    Exit
    Alles anzeigen

    Der Einzige Unterschied, sind die " und ' in deinem $test.

    Zudem beforzuge ich das /out mit zu definieren.

  • Frage zur Registrysuche (Bezug: https://autoit.de/thread/18054-registry-durchsuchen-nach-einem-schl%C3%BCssel) - ANFÄNGER

    • Moombas
    • 5. Mai 2022 um 08:37

    @kilo Die Lösung könntest du meiner Meinung nach von dort einfach nehmen, allerdings habe ich selber die dortgigen (fertigen Scripte) nicht getestet.

    Passen müsste jedoch dieser hier: https://www.autoitscript.com/forum/topic/14…-_regenumvalex/

    Aber ggf. ist @Musashi 's Lösung auch möglich, da würde ich nun mal voll vertrauen ohne es probiert zu haben :)

  • Frage zur Registrysuche (Bezug: https://autoit.de/thread/18054-registry-durchsuchen-nach-einem-schl%C3%BCssel) - ANFÄNGER

    • Moombas
    • 4. Mai 2022 um 15:22

    Schau mal ob dir das hier weiter hilft: https://www.autoitscript.com/forum/topic/14…-_regenumvalex/

  • Frage zur Registrysuche (Bezug: https://autoit.de/thread/18054-registry-durchsuchen-nach-einem-schl%C3%BCssel) - ANFÄNGER

    • Moombas
    • 4. Mai 2022 um 14:29

    Ich denke er will die Schlüssel unterhalb das angegebenen auslesen und durchlaufen ohne sie zu kennen.

  • String > StringReplace > Listview

    • Moombas
    • 2. Mai 2022 um 14:09

    ruby : nur als Tipp, Dim ist aus meiner Sicht suboptimal, besser ist Global bzw. Local zu nutzen um eine eindeutige Definition zu erhalten.

    Ebenso anstatt StringMid("|||", 1, 4 - @extended) würd ich zur besseren Lesbarkeit zu StringLeft("|||", 4 - @extended) raten. Stringmid würde ich nur nutzen, wenn wirklich mittendrin etwas zu holen ist.

  • String mit _Crypt_EncryptData() verschlüsseln

    • Moombas
    • 29. April 2022 um 10:09

    Ich denke das war nur zur Kontrolle des Scriptes. ;)

  • Ordner löschen

    • Moombas
    • 29. April 2022 um 10:04

    Erneut: das Fileexists kannst du weg lassen.

    Warum du das kompliziert mit Stringmid machst anstatt StringTrimRight("E:\taegl_Backup_P1\2022-02-06", 3) weiß ich nicht, da du dann unabhängig vom vorangehenden Pfad bist, die Ordnernamen bezüglich Datum aber immmer gleich ist und du bei einem geänderten Speicherort sicherer wärst.

    Du hast doch den Path in deiner MsgBox schon zusammen gebaut, das brauchst du nur übernehmen:

    DirRemove($String & $sNewDate)

    Aber das ist definitiv Falsch, denn das Ergebnis wäre: E:\taegl_Backup_P1\2022-022020-02-06

    Richtig wäre:

    AutoIt
    Local $String = StringMid ("E:\taegl_Backup_P1\2022-02-06" , 1, 19) ;- Oder aus meiner Sicht besser: StringTrimRight("E:\taegl_Backup_P1\2022-02-06", 10)
    $sNewDate = StringReplace(_DateAdd('Y', -2, "2022-02-06"), "/", "-")
    DirRemove($String & $sNewDate)
  • String mit _Crypt_EncryptData() verschlüsseln

    • Moombas
    • 29. April 2022 um 09:53
    Zitat von Bitnugger

    So klappt es auch:

    ConsoleWrite($dEncrypted & '')

    Aber dann erfolgt die Umwandlung implizit. Ich bevorzuge dies immer explizit handzuhaben (Was das von AspirinJunkie angesprochene String() machen würde).

    Und das klappt auch nur beim Verschlüsseln, beim Entschlüsseln würdest du dann 0x54657374 erhalten anstatt wieder Test . Dort ist das BinaryToString() notwendig.

  • Number in String

    • Moombas
    • 28. April 2022 um 08:11

    hpb

    Zitat von hpb

    Das mit dem _AddDate habe ich hofentlich begriffen, aber unabhängig davon - wie füge ich den Nachweis von

    ("E:\jaehrl_Backup\2022\2022-03") als weitere Bedingung ein?

    Das habe ich dir doch gezeigt (jetzt geändert auf Monat):

    AutoIt
    ;Ungetestet! und auf Basis der vorherigen Posts.
    $sOldDate = '2022-02-06'
    $sNewDate = StringReplace(_DateAdd('M', 1, $sOldDate), "/", "-")
    If StringInStr(FileGetAttrib("E:\jaehrl_Backup\2022\" & $sOldDate), 'DC') and _
       StringInStr(FileGetAttrib("E:\jaehrl_Backup\2022\" & $sNewDate), 'DC') then
        ;beide Ordner existieren
    Else
        ;mind. 1 Ordner existiert nicht
    Endif

    du kanst Das natürlich auch in mehrere if-Abfragen kapseln, je nachdem in wie weit du die einzelne Auswertung per Fehlermeldung ausgeben willst/musst:

    AutoIt
    ;Ungetestet! und auf Basis der vorherigen Posts.
    $sOldDate = '2022-02-06'
    $sNewDate = StringReplace(_DateAdd('M', 1, $sOldDate), "/", "-") ;Ergibt 2022-03-06
    $sOldDate = StringTrimRight($sOldDate, 3) ; Ergibt 2022-02
    $sNewDate = StringTrimRight($sNewDate, 3) ; Ergibt 2022-03
    If StringInStr(FileGetAttrib("E:\jaehrl_Backup\2022\" & $sOldDate), 'DC') then
      If StringInStr(FileGetAttrib("E:\jaehrl_Backup\2022\" & $sNewDate), 'DC') then
        ;beide Ornder existieren
      Else
        ;neuer Ordner existiert nicht
      EndIf
    Else
        ;alter Ordner existiert nicht
    Endif
    Alles anzeigen

    Zudem würde ich wie gesagt die Jahreszahl auch dynamisch machen:

    AutoIt
    ;Ungetestet! und auf Basis der vorherigen Posts.
    $sOldDate = '2022-02-06'
    $sNewDate = StringReplace(_DateAdd('M', 1, $sOldDate), "/", "-") ;Ergibt 2022-03-06
    $sOldDate = StringTrimRight($sOldDate, 3) ; Ergibt 2022-02
    $sNewDate = StringTrimRight($sNewDate, 3) ; Ergibt 2022-03
    $oldYear  = StringSplit($sOldDate, '-')[1]
    $newYear  = StringSplit($sNewDate, '-')[1]
    
    If StringInStr(FileGetAttrib("E:\jaehrl_Backup\" & $oldYear & "\" & $sOldDate), 'DC') then
      If StringInStr(FileGetAttrib("E:\jaehrl_Backup\" & $newYear & "\" & $sNewDate), 'DC') then
        ;beide Ornder existieren
      Else
        ;neuer Ordner existiert nicht
      EndIf
    Else
        ;alter Ordner existiert nicht
    Endif
    Alles anzeigen

    Wobei das ganze doppelt ist, sprich die Jahreszahl ist 2mal enthalten.

    Warum nicht: E:\jaehrl_Backup\Jahr\Monat\ ?

    Das wäre dann z.B. $oldMonth = StringSplit($sOldDate, '-')[2]

  • String mit _Crypt_EncryptData() verschlüsseln

    • Moombas
    • 28. April 2022 um 07:52

    AspirinJunkie Es ging ja nur um die (Konsolen-)Ausgabe bei meinem Beispiel. (bzw. in meiner Anwendung bekomme ich halt einen String von der User-Eingabe und prüfe den dann nach der (De)kodierung direkt gegen). Ich wollte nur zeigen, was man mit dem Ergebnis machen muss, um damit (aus welchen Gründen auch immer) als String weiter arbeiten zu können. Ansonsten stimme ich dir zu 100% zu, wobei die Performance-Gründe, je nach Programm, zu relativieren sind.

    In wie weit sidewinder hier wirklich die Ausgabe als String braucht oder einfach mit dem Original weiter machen kann (und das Consolewrite nur ein Versuch zur Kontrolle war), kann wohl nur er selber beurteilen, da wir den Rest des Codes und deren Anwendug nicht kennen.

  • Number in String

    • Moombas
    • 27. April 2022 um 15:01

    Die +1 soll den Tag oder den Monat hochzählen? Ich gehe von Tag aus. Wie mehrfach bereicts gesagt ist das erste Fileexist egal, also:

    AutoIt
    ;Ungetestet! und auf Basis der vorherigen Posts.
    $sOldDate = '2022-02-06'
    $sNewDate = StringReplace(_DateAdd('D', 1, $sOldDate), "/", "-")
    If StringInStr(FileGetAttrib("E:\jaehrl_Backup\2022\" & $sOldDate), 'DC') and _
       StringInStr(FileGetAttrib("E:\jaehrl_Backup\2022\" & $sNewDate), 'DC') then
        ;Ordner
    Else
        ;nicht vorhanden oder Datei
    Endif

    Tipp: Die Jahreszahl müsstest du am bestendann auch dynamisch setzen.

  • String mit _Crypt_EncryptData() verschlüsseln

    • Moombas
    • 27. April 2022 um 13:10

    Hmm, du hast Recht, irgendwas muss ich noch anders gemacht haben, ich schaue nochmal.

    So funktioniert es bei mir die Anzeige nach dem Entschlüsseln (bei mir gibt der Benutzer halt nur den Wert ohne den Hex-Indikator an, daher hier das explizite '0x' am Start):

    AutoIt
    Global Const $vCryptKey = _Crypt_DeriveKey(StringToBinary('CryptPassword'), $CALG_RC4)
    Global $Return = BinaryToString(_Crypt_DecryptData('0x' & 'A338D5F9', $vCryptKey, $CALG_USERKEY))
    ConsoleWrite($Return)

    Das Gleiche jedoch scheint bei der Verschlüsselung nicht zu funktionieren. Aber auch andersherum nicht. Daher ergibt sich:

    AutoIt
    Opt('MustDeclareVars', 1)
    #include <Crypt.au3>
    #include <String.au3>
    
    ConsoleWrite(@CRLF) ;@CRLF sind alle nur zur besseren optischen Ausgabe
    
    ;//Verschlüsseln
    Global $sRead = 'Test'
    Global Const $vCryptKey = _Crypt_DeriveKey(StringToBinary('CryptPassword'), $CALG_RC4)
    Global $Return = String(_Crypt_EncryptData($sRead, $vCryptKey, $CALG_USERKEY))
    ConsoleWrite($Return)
    
    ConsoleWrite(@CRLF)
    
    ;//Entschlüsseln
    $sRead = $Return ;Oder zum testen auch möglich: $sRead = '0xA338D5F9'
    $Return = BinaryToString(_Crypt_DecryptData($sRead, $vCryptKey, $CALG_USERKEY))
    ConsoleWrite($Return)
    
    ConsoleWrite(@CRLF)
    ConsoleWrite(@CRLF)
    Alles anzeigen
  • String mit _Crypt_EncryptData() verschlüsseln

    • Moombas
    • 27. April 2022 um 12:43
    Zitat von AspirinJunkie

    Das BinaryToString ändert grundsätzlich nichts an den Daten sondern markiert diese lediglich als String.
    Für die Weiterverarbeitung erst einmal unschädlich, da damit auch das Decrypten auch funktioniert (Die Daten bleiben ja gleich) aber sein Ausgabeproblem mit ConsoleWrite bleibt bestehen.

    Daher ist das BinaryToString hier ziemlich sinnfrei.

    Bei mir funktioniert mit dem BinaryToString() die Konsolenausgabe einwandfrei ohne ein @CRLF oder so hinten dran, daher nicht Sinnfrei

  • String mit _Crypt_EncryptData() verschlüsseln

    • Moombas
    • 27. April 2022 um 11:55

    AspirinJunkie : Hatte ich das oben nicht bereits bei #4 erwähnt bezüglich des Datentyps?^^

    Wegen der Umwandlung oder nicht: Kommt ja darauf an wo/wie man das Ganze verwendet. Ich habe z.B. das mit einer Benutzereingabe und Prüfung verbunden und arbeite daher mit einem String.

    Daher habe ich mir folgende Funktion gebaut (für AES256):

    AutoIt
    Func Uncrypt($Crypt) ;Beispiel für entschlüsseln wäre natürlich auch zum verschlüsseln möglich
    Local Const $vCryptKey = _Crypt_DeriveKey(StringToBinary('DeinCryptKey'), $CALG_AES_256)
      Return BinaryToString(_Crypt_DecryptData('0x' & $Crypt, $vCryptKey, $CALG_USERKEY))
    EndFunc

    Hat auch ein wenig was davon wie man damit umgehen möchte.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™