Anzumerken wäre vielleicht noch, dass das sicherheitstechnisch auch höchstens ein Provisorium ist. Bei FTP hat man zwar eine Authentifizierung, aber die Logendaten werden umverschlüsselt übertragen; das will man im Internet meistens nicht
Beiträge von Data
-
-
Der Haken ist, dass der AutoIt-Compiler x86-Binärdateien erstellt, die auf ARM-Prozessoren nicht laufen (man nennt das fehlende Binärkompatibilität). Windows 10 wird so gebaut sein, dass man es für x86-64, ARM usw. kompilieren kann und Microsoft liefert dann für ARM-Plattformen die ARM-Version aus. Ein Windows heißt in dem Fall nicht, dass es sich um die gleichen Binaries handelt, sondern das alle Versionen die gleichen Features haben. Das heißt, dass nur Programme, die nicht kompiliert werden (Java, diverse interpretierte Skriptsprachen wie Python) oder nur zur Laufzeit (wie .Net) auf allen Windows' laufen werden; nicht aber Programme, die bereits kompiliert sind. Vielleicht führt Microsoft irgendwann mal sowas ein wie man es von OS X kennt, dass ein Binary Maschinencode für unterschiedliche Plattformen enthält (sogenannte Fat-Binaries).
tl;dr
Du bräuchtest entweder einen AutoIt-Compiler, der ARM-Maschinencode erzeugt (der müsste erst einmal geschrieben werden), oder ein Programm (meinetwegen selber Architekturunabhängig in .Net geschrieben), das AutoIt interpretiert.Edit: Genau genommen werden auch "kompilierte" AutoIt-Programme noch interpretiert, sie sind mit dem Interpreter zu einer Datei verschweißt. Aber der Interpreter ist halt Plattformabhängig und müsste portiert werden.
Und einen x86-Emulator wird es für ARM nicht geben; das ist, als wolltest du mit einem Trabbi einen Porsche simulieren. Umgekehrt würde eher ein Schuh draus, aber auch das ist ineffizient.
-
Wie wäre es mit FFMPEG?
-
Bau dir ein eigenes Cryptotoken damit. Schlüsselverwaltung direkt darauf, PIN-Eingabe und Verwaltung via Mini-Touchscreen, Informationsaustausch via QR-Codes auf dem Touchscreen und Webcam am Rechner bzw. umgekehrt mit der PiCam
Ist ein hübsches Programmierprojekt. Obwohl da das Modell A+ besser geeignet ist.Die SD-Karten-Probleme sollen bei der V2 (und A+) wohl Geschichte sein, bei der V1 resultieren sie daher, dass der Leser für <= Class-4-SD-Karten ausgelegt ist und eine hohe Spannung liefert die für schnellere Modelle aber über dem Standard liegt, was mit *manchen* SD-Karten zu Problemen führt (meine SanDisk Class 10-Karte hat mir nie Probleme gemacht und mit Raspbian läuft das Teil verdammt stabil). Die V2 ist aber standardmäßig für schnelle Micro-SD-Karten ausgelegt und liefert für die auch die richtige Spannung.
Alternativ möchte ich den ODRIOD-C1 empfehlen, das Teil ist nochmal schneller als der RPi-2 und besitzt vor allem einen USB-Client-Port; das heißt, man kann das anders als den RPi auch als USB-Gadget benutzen. Und bietet schnelleres LAN; der RPi-2 bietet jetzt zwar genügend CPU Leistung für schnellen Netzwerkverkehr, bindet sein Ethernetport immer noch per USB 2.0 an. Der ODROID bietet hingegen Gigabit-LAN; auch wenn man das nicht erreicht, bei einem RAID aus flotten USB-Sticks (~50€ für 4x 32GB relativ flotte USB 3.0-Sticks von SanDisk) sind schon um die 60MB/s drin -
Decompiler als solche fallen (bei der intelligenten Gesetzgebung unserer Bundesregierung) unter "Hackersoftware"; das heißt, der Vertrieb ist verboten. (Wenn sich das nicht in den letzten 4 Jahren geändert hat; ich hab hier iWo noch eine c't diesbezüglich rumgammeln )
Der Besitz selbst ist erlaubt. Und auch nur das Dekomponieren von Software, an der man nicht die Rechte hat. -
Als genereller Denkanstoß: Besonders leicht sind solche Probleme immer über die Unix-Time zu lösen.
Hier: Datum in Unix-Time umrechnen; 60 * 60 * 24 * 10 (10 Tage) abziehen und dann die Unix-Time wieder in das normale Zeitformat umrechnen. Müsste DLL-Funktionen dazu geben. -
Kannst du nicht beim Router anfragen, ob die IP-Adresse im Moment vergeben ist oder so? Da müsste sich doch was mit DHCP machen lassen.
-
Sollte es sich wirklich um sein eigenes Programm handeln, ist es sein geistiges Eigentum und er kann es dekompilieren, den Binärcode verändern etc.
Was immer er damit will. Entsprechende Passus die besagen, dass der Autor des Compilers das alleinige Eigentumsrecht an den kompilierten Dateien hat sind nach deutschem Recht ungültig. Du kannst einschränken, dass das kompilierte Programm nur privat genutzt werden darf oder beim Verkauf Lizenzgebühren gezahlt werden müssen etc.
Aber das Programm selbst ist sein geistiges Eigentum. -
Speicher den gesalzen Whirlpoolhash deines Zugriffspasswords im PHP-Skript ab und sende eine POST-Request via HTTPS an dein PHP-Skript.
Das Zugriffspasswort kannst du entweder "hardcoden" oder jedes mal beim Programmstart neu eingeben.PHP
Alles anzeigen<?php define("SALT", "Your 128 chars long RANDOM salt here"); define("PASS", "Your whirlpool-hash here of your salted password here"); if (!isset($_POST["token"])) { exit; } $pass = $_POST["token"]; if (strcmp(hash("whirlpool", SALT . $pass), PASS) != 0) { exit; } print "Your secret"; ?>
Als Zusatzfeature könntest du dein Geheimnis auch verschlüsselt in der PHP-Datei speichern und mit dem Zugriffspasswort erst entschlüsseln.
-
Kleiner Bug: Er möchte auch hochladen, wenn man kein Bild ausgewählt hat und auf Uploaden klickt...
Vllt. ein Fallback wie "Bitte wählen Sie eine Datei aus" oder so...
Und die Drag-Option sollte beim Uploaden deaktiviert werden.Sonst sehr gelungen!
-
Na dann viel Spaß!
-
Ich würde mich an deiner Stelle nicht auf LLVM konzentrieren. Übersetz die Sprache lieber in C++, damit kommst du zum Ziel. Wenn du das in LLVM übersetzen willst (und die Sprache etwas können soll), bist du in einem Jahr noch nicht fertig.
Eine interessante Alternative könnte eine Übersetzung in Java sein (nur so als Idee). Java ist vielleicht nicht so schnell wie die C-Derivate, aber hat den großen Vorteil der Plattformunabhängigkeit. Eine Sprache die AutoIt ähnlich ist (soll heißen: relativ simpel etc. pp.) und plattformunabhängig ist, ist mit Sicherheit nicht trivial zu programmieren. Aber das wäre dann definitiv nichts "sinnloses". Obwohl ICH dein Projekt überhaupt nicht sinnlos finde; gerade als ich angefangen hab, Programmieren zu lernen (ich denke doch, dass du noch Anfänger bist; korrigier mich bitte, wenn ich mich irre), habe ich bereits existierende Sachen immer wieder Programmiert und noch mal geringfügig optimiert... -
Pack das hier in die Head-Section von der HTML Ausgabe:
<meta http-equiv="refresh" content="5; URL=browser.php"> <!-- Die 5 ist die Verzögerung in Sekunden; kann auf 0 gestellt werden -->
Du musst bei PHP wissen, dass der Browser nur die Daten sieht, die ausgegeben werden (Leerzeichen, Text etc. vor <?php und nach ?>); d. h. erst beim ersten print, echo oder header() Aufruf bekommt der Browser Daten zu sehen. Die Daten, die der Browser zu sehen bekommt, versucht er zu interpretieren; z. B. kannst du mit PHP einfach per print ein HTML Dokument ausgeben. Der Browser sieht nur das HTML und zeigt das als HTML an (kein Kram mit Dateiendungen etc. pp.). Das heißt auch, alles was du in HTML stopfen kannst, kannst du auch mit PHP ausgeben; also JavaScript, CSS und kram. Komplizierter wird es, wenn es dann Dateien werden (z. B. Audio).
Alternativ hier noch eine Javascript-Weiterleitung (Im Head-Part deines HTML-Dokuments ausgeben):
<script type="text/javascript">
<!--
setTimeout("self.location.href='browser.php'", 5000); //Die 5000 sind 5000 ms, die gewartet werden soll; kannst du auch auf 0 setzen
//-->
</script>Generell ist es empfehlenswert, automatische Weiterleitungen mit einem manuellen Link zu versehen, da es immer Situationen geben kann (seltsame mobile Browser z. B. etc.), in der sie nicht funktionieren.
Appendix (PHP-Sourcecode):
Spoiler anzeigen
PHP
Alles anzeigenprint (" <html> <head> <meta http-equiv=\"refresh\" content=\"5; URL=browser.php\"> <!-- Die 5 ist die Verzögerung in Sekunden; kann auf 0 gestellt werden --> <script type=\"text/javascript\"> <!-- setTimeout(\"self.location.href='browser.php'\", 5000); //Die 5000 sind 5000 ms, die gewartet werden soll; kannst du auch auf 0 setzen //--> </script> </head> <body> <a href=\"browser.php\">Klicken Sie hier, falls die automatische Weiterleitung nicht funktionieren</a> </body> </html> ");
-
-
Da es ja keine Systemgrenzen zu geben scheint...
Nutze beide OS, aber ich persönlich finde OS X stylischer...
Der Hintergrund ist animiert. (10 Sekunden Intervall)
-
-
Ädädädädä...
-
Und wenn du es in getrennte inis schriebest?
-
Wenn das Programm bei der Installation Registry-Keys setzt, dann sparst du dir das Pfad-Suchen für die installierten Programme; einfach die Auslesen.
Wenn das Programm nicht installiert ist, würde ich dir folgenden Tipp geben:
Erst in Standardpfaden (z. B. Downloads) nach der .exe suchen und dann ein Auswahlfeld erstellen:
Dateipfad manuell wählen/Aktuelle Datei herunterladen und Installieren.
Weiß nicht, wie das inzwischen üblich ist unter Win (bin seit längerem vor allem auf Mac), aber ein guter Platz für die Versionsnummer war die Registry.
Sollte die Versionsnummer da liegen, kannst du sie ja mit der aktuellen Versionsnummer auf dem Server (in einer Textdatei o. Ä. , mit InetGet herunterladen und einlesen) vergleichen, und dann ein Feld anzeigen von wegen: Ihre Version ist veraltet. Soll die aktuelle Version heruntergeladen werden?(RegRead)
-
Mach zwei Eingabefelder, eins für die Weibchen und eins für die Männchen.
Dann die getrennt auslesen und speichern.
Die Aufgaben in zwei Arrays schreiben (Männchen/Weibchen).
Teile und herrsche -
Ich weiß nicht, ob das hübscher Stil ist, aber ich habe so was immer in einer .ini gespeichert, das ist einfacher (sowohl beim speichern, als auch beim auslesen).