Auf das OTP. Die XOR-Verschlüsselung ist wie schon gesagt recht einfach zu entschlüsseln, wenn du ein sehr schlechtes Passwort benutzt (z.B. 1234).
Beiträge von James
-
-
Bis auf die Länge... *hust* *hust* *hust*
Aber sieht gut aus!Als ob das so besonderes wäre.
1. Für wie sicher haltet ihr diese Verschlüsselung?
2. ist es mit dieser Methode möglich auch ganze Dateinen zu verschlüsseln?1. Das erinnert denke ich eher an den Vigenère Chiffre als an das One-Time-Pad (bzw. ist eigentlich fast genau dasselbe). Dadurch wird es relativ einfach das Passwort (teilweise) zu erraten, wenn du einen Teil des unverschlüsselten Textes kennst. Je nach Passwort sollte es aber ausreichend sein, auch wenn ich eher zum One-Time-Pad (XOR Verschlüsselung) raten würde. Wenn das Passwort so lang ist wie der Text sollte es aber sicher genug sein, ansonsten taugt auch das OTP nicht sehr viel.
2. Natürlich. Einfach Datei öffnen, Inhalt auslesen und verschlüsseln und dann in eine neue Datei schreiben. -
Wieso sollte das auch funktionieren? Du hast zwar eine Variable für den Rückgabewert, speicherst diesen aber nicht in ihr ab.
-
Ok, das ist wirklich eigenartig. Ich werde es wie schon gesagt auch noch mal mit Windows 8 testen, erwarte da aber kein anderes Ergebnis.
Vielleicht kennt ja jemand eine andere Möglichkeit. Brauchst du das nur für MP3-Dateien oder soll das mit allen Dateitypen funktionieren?
-
Und keine dieser Zeilen hat Inhalt?Ok, bei einem Fehler wird anscheinend der Name der Spalte zurückgegeben, dadurch konnte ich die auch im Skript eintragen. (Bei einem englischen Windows sind die natürlich Englisch.) Dieser Fehler kam bei mir z.B. bei AutoIt-Skripten. Mit welchen Dateitypen hast du es denn versucht?
Ich habe leider momentan keinen Zugriff auf einen PC mit Windows 8, kann es aber im Laufe der Woche selbst auch mal testen. Sollte aber eigentlich in MSDN angegeben sein, wenn das entfernt wurde. Es kommt ja aber auch kein Fehler, oder?Ich habe die Funktion im letzten Post nochmal überarbeitet, jetzt werden nur noch ausgefüllte Spalten angezeigt.
Beispielausgabe einer MP3-Datei
Code
Alles anzeigenSize: 8.76 MB Item type: MP3 Format Sound Date modified: 8/24/2013 9:45 PM Date created: 8/24/2013 9:45 PM Date accessed: 8/24/2013 9:45 PM Attributes: A Perceived type: Audio Owner: JAMES-PC\James Kind: Music Year: 2012 Rating: Unrated Length: 00:03:49 Bit rate: ?320kbps Protected: No Folder name: Desktop Folder path: C:\Users\James\Desktop Folder: Desktop (C:\Users\James) Type: MP3 Format Sound Link status: Unresolved Encoded by: LAME in FL Studio 10 Beats-per-minute: 130
-
Ich hätte das so gemacht:
Die Nachkommastellen werden mit jeder Zahl von 2 bis zu dem Limit multipliziert und danach wird geschaut ob das Ergebnis 1 ist. So findet man automatisch immer den Bruch mit dem kleinsten Nenner zuerst.Spoiler anzeigen
[autoit]MsgBox(64, "-16.0625", _(-16.0625))
[/autoit]
Func _($n, $l=10000)
Local $i = 0, $b = ($n < 0)
Local $f = Abs($n), $s = ""
If ($f > 1) Then
$i = Int($f)
$f = $f - $i
EndIf
For $j = 2 To $l Step 1
If ($f*$j = 1) Then
If $b Then $s &= "-("
If $i Then $s &= $i & " + "
$s &= ($f*$j) & "/" & $j
If $b Then $s &= ")"
Return $s
EndIf
If ($f*$j > 1) Then ExitLoop
Next
Return SetError(1, 0, $n)
EndFunc -
Interessante Vorgehensweise, aber sind die Arrays wirklich notwendig? Wenn du es ohne Arrays umwandeln würdest würde außerdem immer ein gekürzter Bruch herauskommen (wenn du die Methode verwenden würdest die ich gerade im Kopf habe), du bräuchtest also die 2. Funktion nicht mehr.
-
Alles Gute zum Geburtstag!
-
Es könnte auch am Dateityp liegen, nicht bei jedem werden dir Informationen ausgegeben.
Die verwendeten Funktionen sollten aber auch bei Windows 8 noch verfügbar sein, dass würde sonst bei MSDN stehen. Vielleicht liegt der Fehler ja im Skript, du könntest ja mal meine Version testen:
Spoiler anzeigen
[autoit]Func FileGetInfo($sFile, $iColumn=-1)
[/autoit]
If (Not FileExists($sFile)) Then Return SetError(-1, 0, "")
Local Static $aInfoNames[284] = ["Name", "Size", "Item type", "Date modified", "Date created", "Date accessed", "Attributes", "Offline status", "Offline availability", "Perceived type", "Owner", "Kind", "Date taken", "Contributing artists", "Album", "Year", "Genre", "Conductors", "Tags", "Rating", "Authors", "Title", "Subject", "Categories", "Comments", "Copyright", "#", "Length", "Bit rate", "Protected", "Camera model", "Dimensions", "Camera maker", "Company", "File description", "Program name", "Duration", "Is online", "Is recurring", "Location", "Optional attendee addresses", "Optional attendees", "Organizer address", "Organizer name", "Reminder time", "Required attendee addresses", "Required attendees", "Resources", "Meeting status", "Free/busy status", "Total size", "Account name", "Task status", "Computer", "Anniversary", "Assistant's name", "Assistant's phone", "Birthday", "Business address", "Business city", "Business country/region", "Business P.O. box", "Business postal code", "Business state or province", "Business street", "Business fax", "Business home page", "Business phone", "Callback number", "Car phone", "Children", "Company main phone", "Department", "E-mail address", "E-mail2", "E-mail3", "E-mail list", "E-mail display name", "File as", "First name", "Full name", "Gender", "Given name", "Hobbies", "Home address", "Home city", "Home country/region", "Home P.O. box", "Home postal code", "Home state or province", "Home street", "Home fax", "Home phone", "IM addresses", "Initials", "Job title", "Label", "Last name", "Mailing address", "Middle name", "Cell phone", "Nickname", "Office location", "Other address", "Other city", "Other country/region", "Other P.O. box", "Other postal code", "Other state or province", "Other street", "Pager", "Personal title", "City", "Country/region", "P.O. box", "Postal code", "State or province", "Street", "Primary e-mail", "Primary phone", "Profession", "Spouse/Partner", "Suffix", "TTY/TTD phone", "Telex", "Webpage", "Content status", "Content type", "Date acquired", "Date archived", "Date completed", "Device category", "Connected", "Discovery method", "Friendly name", "Local computer", _
"Manufacturer", "Model", "Paired", "Classification", "Status", "Client ID", "Contributors", "Content created", "Last printed", "Date last saved", "Division", "Document ID", "Pages", "Slides", "Total editing time", "Word count", "Due date", "End date", "File count", "Filename", "File version", "Flag color", "Flag status", "Space free", "Bit depth", "Horizontal resolution", "Width", "Vertical resolution", "Height", "Importance", "Is attachment", "Is deleted", "Encryption status", "Has flag", "Is completed", "Incomplete", "Read status", "Creators", "Date", "Folder name", "Folder path", "Folder", "Participants", "Path", "By location", "Type", "Contact names", "Entry type", "Language", "Date visited", "Description", "Link status", "Link target", "URL", "Media created", "Date released", "Encoded by", "Producers", "Publisher", "Subtitle", "User web URL", "Writers", "Attachments", "Bcc addresses", "Bcc", "Cc addresses", "Cc", "Conversation ID", "Date received", "Date sent", "From addresses", "From", "Has attachments", "Sender address", "Sender name", "Store", "To addresses", "To do title", "To", "Mileage", "Album artist", "Album ID", "Beats-per-minute", "Composers", "Initial key", "Part of a compilation", "Mood", "Part of set", "Period", "Color", "Parental rating", "Parental rating reason", "Space used", "EXIF version", "Event", "Exposure bias", "Exposure program", "Exposure time", "F-stop", "Flash mode", "Focal length", "35mm focal length", "ISO speed", "Lens maker", "Lens model", "Light source", "Max aperture", "Metering mode", "Orientation", "People", "Program mode", "Saturation", "Subject distance", "White balance", "Priority", "Project", "Channel number", "Episode name", "Closed captioning", "Rerun", "SAP", "Broadcast date", "Program description", "Recording time", "Station call sign", "Station name", "Summary", "Snippets", "Auto summary", "Search ranking", "Sensitivity", "Product name", "Product version", "Support link", "Source", "Start date", "Billing information", "Complete", "Task owner", "Total file size", "Legal trademarks", "Video compression", "Directors", "Data rate", "Frame height", "Frame rate", "Frame width", "Total bitrate"]
Local $sDir, $oShell, $oDir, $oFile, $i, $sInfo = "", $sTemp
$sFolder = StringRegExpReplace($sFile, "^(.+?[\\/])[^\\/]+$", "\1")
If ($sFolder = $sFile) Then Return SetError(1, 0, "")
$oShell = ObjCreate("Shell.Application")
If @error Then Return SetError(2, 0, "")
$oFolder = $oShell.NameSpace($sFolder)
$oFile = $oFolder.ParseName($sFile)
If ($iColumn > -1) And ($iColumn < 284) Then
$sTemp = $oFolder.GetDetailsOf($oFile, $iColumn)
If (Stringlen($sTemp) = 0) Then Return SetError(3, 0, "")
Return $aInfoNames[$iColumn] & ": " & $sTemp
EndIf
For $i = 0 To 283
$sTemp = $oFolder.GetDetailsOf($oFile, $i)
If (Stringlen($sTemp) > 0) Then
$sInfo &= $aInfoNames[$i] & ": " & $sTemp & @CRLF
EndIf
Next
Return StringTrimRight($sInfo, 2)
EndFunc -
Du kannst Funktionen in den neuen Versionen auch direkt als Parameter benutzen, d.h. folgendes ist möglich:
[autoit]
[/autoit]
Test("MsgBox")
Test(MsgBox) -
Wie wäre es so?
[autoit]Local $ver1 = 0, $i = 6
[/autoit]
Do
$ver1 += $array[$i]
$i += 16
Until ($i >= UBound($array))PS: Kein Schnee und allgemein sehr mildes Wetter (zumindest bei mir).
-
Meine Lösung:
[autoit]For $i = 0x41 To 0x45
[/autoit]
If _Hans($i) Then
_Peter(Chr($i+32))
Sleep(100)
EndIf
Next
Viel stärker kann man das denke ich nicht vereinfachen, schon gar nicht ohne die beiden Funktionen zu kennen.Edit: Verkürzen ≠ Vereinfachen
Ich habe es zwar verkürzen können, aber die Performance wird dadurch wahrscheinlich auch nicht besser (besonders da For-Schleifen so langsam sind). -
wenn ich jetzt 10eingeben würde soll das Script den Befehl 10x ausführen
For $n = 1 To Number($Anzahl)
[/autoit]
; ...
NextLässt sich vllt sogar noch eine Sperre einbauen die verhindert dass man Buchstaben reinschreibt
Number sollte in so einem Fall 0 zurückgeben, und eine Schleife von 1 bis 0 wird 0x ausgeführt. Wenn du ein Input (in einer GUI) verwendest kannst du als Style $ES_NUMBER angeben, das macht genau was du willst.
Meinetwegen könnte man das ganze auch mit einem normalen Input machen aber bei mir gab es dort immer das Problem dass als Variable 3 Angezeigt wurde...
Controls in GUIs haben IDs. Wenn du aus einem Input etwas auslesen willst musst du GUICtrlRead verwenden, sonst erhälst du wie schon festgestellt nur die ID.
PS: Bei Code am besten immer den Quellcode-Tab des Editors und AutoIt-Tags benutzen, bei längeren Skripten auch Spoiler.
-
Ich würde es mal mit BitXOR($Color, 0xFFFFFF) versuchen, weiß aber nicht ob das immer funktioniert.
-
sag mir mal was ich deiner Meinung nach eingeben soll um eben genau diese au3 zu finden.......bin ich ja mal sehr gespannt, was du da eingeben willst, um die ganzen includes etc nicht angezeigt zu bekommen. Wage ganz stark zu bezweifeln das du mir da was nennen kannst...auch mit der tollen Hilfe nicht. Schau spätestens morgen wieder rein...24 std. sollten reichen um über diese Seiten eine entsprechende Suchfrage zu erstellen oder?
Natürlich reichen dafür 24 Stunden, und Seiten mit Tipps brauchst du dafür eigentlich auch nicht. Für dein Beispiel sieht meine Suchanfrage jetzt so aus: "MsgBoxConstants.au3" -"#include <MsgBoxConstants.au3>" Damit werden alle Seiten gefunden die die Datei irgendwo im Text erwähnen, aber nicht die, die Skripte enthalten die sie benutzen. Google findet damit nur 5 Seiten, wovon eine anscheinend ein Projekt ist um AutoIt ins Chinesische zu übersetzen. Deren Version der Datei findest du hier.
Das Problem ist in diesem Fall wahrscheinlich, dass die Datei noch recht neu ist. Außerdem findest du Standard-Includes sowieso selten(er) im Internet (wieso auch, sind ja schließlich bei AutoIt dabei). Ein UDF Sammlung wäre wirklich nicht schlecht, da gebe ich dir Recht, nur würden sich wahrscheinlich die Wenigsten die Mühe machen wollen die aktuell zu halten.Edit: Hier wäre eine dieser Sammlungen. Wurde zwar seit 2007 nicht mehr aktualisiert, aber vielleicht hilft es dir ja trotzdem.
-
MsgBoxConstants.au3 liegt in Deinem AutoIt Programm Ordner, dort in Includes und Dein Script sollte diese Datei eigentlich automatisch finden falls Du AutoIt richtig installiert hast.
Diese Include ist aber noch sehr neu, fehlt also bei allen die eine ältere Version von AutoIt benutzen (bei mir auch, also wurde sie wahrscheinlich mit Version 3.3.10.0 eingeführt).
@Topic Es gibt Internetseiten und Bücher über das Erstellen von guten Suchanfragen, mit diesem Wissen kannst du wahrscheinlich viele diese ungewünschten Ergebnisse eliminieren.
-
Meinst du zufällig FileRecycle? Mit FileDelete sollten die Dateien eigentlich gelöscht und nicht nur in den Papierkorb verschoben werden.
Zu der Frage: Du kannst Dateien das Attribut T geben um sie temporär zu machen, nur leider kenne ich die Auswirkungen davon nicht. -
Nein, da ich nicht weiß welche UDF du benutzt und wie diese die Mail zurückgibt.
Wenn du die von Carsten benutzt dann sollte sie den Inhalt der Mail als String zurückgeben, da das aber anscheinend nicht funktioniert weiß ich auch nicht weiter.Du könntest auch mal versuchen die Mail manuell mit Telnet auszulesen (die Befehle stehen ja z.B. in der UDF) und schauen, was dir in der Konsole ausgegeben wird.
-
Du solltest dir aber die UDF "ansehen" die du verwendest, und da du die von Carsten8 in den Spoiler gepackt hast ging ich davon aus, dass das die Richtige ist.
-
pop3_getmailraw gibt anscheinend ein Array zurück.
Nein, laut der UDF im Spoiler gibt die Funktion einen ganz normalen String zurück.