cm = 1234
m, cm = divmod(cm, 100)

print('Meter:', m) # 12
print('Zentimeter:', cm) # 34
...zur Antwort
Tresor mit Arduino programmieren?

Wir müssen in der Schule einen Tresor mit dem Arduino programmieren, dafür haben wir ein 4x4 Tastenfeld und einen Motor ( Servo Motor). wir haben ein Programm geschrieben, doch dieses Funktioniert nicht. wir haben im Internet nachgeschaut und unsere Lehrer gefragt doch, aber nichts hat uns geholfen. unser Programm sagt das wir das Keyboard nicht in der library haben, doch dies haben wir. es wäre nett wenn uns jemand bei unserem Problem helfen könnte.

das ist unser Programm

#include <Keyboard.h>                  //Keypad Library wir eingebunden         
#include <Servo.h>                     //Servo Motor Library wird eingebunden
                 
Servo Motor;                           //Servo wird ab jetzt mit "Motor" angesprochen
char* Key = "2412";                   //Passwort wird festgelegt: 2412
int position = 0;
const byte COLS = 4;                   //Die Anzahl der Spalten wird deiniert: 4
const byte ROWS = 4 ;                   //Die Anzahl der Reihen wird definiert: 4
char hexakeys [COLS][ROWS]={                 //Die Ziffern und Zahle des Tastenfeldes werden definiert
("1","2","3","A"),
("4","5","6","B"),
("7","8","9","C"),
("","0","#","D")
};
byte colsPins[COLS]={1, 2, 3, 4};        //Pins an welche das Tastenfeld angeschlossen ist werden definieren
byte rowsPins[ROWS] ={5, 6, 7, 8};        //Pins an welche das Tastenfeld angeschlossen ist werden definieren
 
void setup() {
pinMode(11,OUTPUT);                      //LED als Ausgang definiert
pinMode (12,OUTPUT);                     //LED als Ausgang definiert
pinMode (13, OUTPUT);                    //LED als Ausgang definiert
Motor.attach (10);                       //Motor an Pin 10 angeschlossen
pinMode(1,INPUT);
pinMode(5,INPUT);
pinMode(6,INPUT);
pinMode(7,INPUT);
pinMode(8,INPUT);
Keyboard.begin ();
}
void loop() {
 
char Key = Keyboard.get Key();
}
if (key == '' || key == '#');           //wenn /# gedrückt wird dann
{
 position = 0;
 setlocked (true);                      //Schloss sperren
}
if (key == password [position]);
{
 position ++;
}
if (position == 4);                      //länge des Passwortes
{ 
setlocked (false);
}
delay(100);                             
}

void setlocked () 
{
if (locked); 
{
digitalWrite(12, HIGH);
digitalWrite(11, LOW);
motor.write(10,LOW); 
}
else
{
digitalWrite(12, LOW);
digitalWrite(11, LOW);
motor.write (10,HIGH);
}
}
...zum Beitrag

Erstens solltet ihr den Compiler so strikt wie möglich einstellen und folgende Flags übergeben:

-Wall -Wextra -Wpedantic -Werror

Und dann den Code so korrigieren, dass er ohne jegliche Warnungen und Fehler kompiliert.

Zum Beispiel, die Deklaration des "hexakeys" Arrays ist falsch:

char hexakeys [COLS][ROWS]={                 //Die Ziffern und Zahle des Tastenfeldes werden definiert
("1","2","3","A"),
("4","5","6","B"),
("7","8","9","C"),
("","0","#","D")
};

Ersetze die doppelten durch einfache Anführungszeichen, denn sonst hast du kein Array von "char", sondern ein Array von "char Zeigern", was offensichtlich nicht das ist, was du haben willst. :)

Ansonsten haben die anderen ja schon den Unterschied zwischen KeyBOARD und KeyPAD angesprochen.

Viel Spaß! :)

...zur Antwort

Ja, das geht. Da gab es vor einiger Zeit einen Vortrag beim Chaos Communcation Congress zu. Ich erinnere mich nicht mehr wann das war, und wie genau es funktioniert hat, aber ich weiß genau, dass es allgemein möglich ist.

Ich meine mich sogar daran zu erinnern, dass das nicht mal ein Hack war, sondern ganz allgemein eine Funktion, die genau für diesen Zweck implementiert wurde, also so ähnlich wie die Möglichkeit der "stillen SMS", die jedes Jahr tausendfach allein in Deutschland genutzt wird.

Also ja, ist möglich. Definitiv sogar. :)

...zur Antwort

Nein, und das ist genau genommen NICHT meine persönliche Meinung, sondern eine Tatsache, denn w3schools ist überhaupt nicht umfangreich genug, um alles Wichtige abzudecken, reicht aber für Einsteiger (und auch Fortgeschrittene) oftmals als Nachschlagewerk völlig aus. (Wohlgemerkt, stark abhängig von der Sprache! Manchmal kann man w3schools nämlich gelinde gesagt "total vergessen".)

Du wirst sehr sehr sehr schnell an den Punkt kommen, an dem w3schools dir deine offenen Fragen nicht mehr beantworten kann. Um andere Quellen kommst du also nicht herum.

Allerdings ist die Seite für den Einstieg sehr gut, um einen groben Überblick zu erhalten. Wirklich gut wirst du allein damit aber nie werden können, und bist immer auf tiefergehende Fachliteratur angewiesen.

...zur Antwort

Nimm doch einfach ein Dictionary. :)

Aber davon abgesehen gibt es die Möglichkeit, mit einem StringIO-Objekt:

from io import StringIO

strio = StringIO('foo\nbar\nbaz\n')

print(strio.readline()) # foo
print(strio.readline()) # baz

# a. s. o. ...

Im Grunde gehen damit alle herkömmlichen Datei-IO-Operationen auf einem String.

PS: Guck dir mal das "configparser" Package an! Das macht alles (und viel mehr), was du vermutlich vor hast. Dann brauchst du nicht von Hand alles selber bauen und das Rad neu erfinden. :)

...zur Antwort

Das ist so einfach, dass es mit jeder aktuellen Skript- bzw. Programmier-Sprache geht.

Als Shellskript ist das z. B. nur eine einzige Zeile Code:

watch -n 60 'wget -qO- gutefrage.net/tag/programmieren | grep -iFcq php || wget -q https://pastebin.com/raw/ws9UCv1G'

Dabei musst du nur a) die Adresse von GF durch die URL ersetzen, auf der nach dem Wort gesucht werden soll, b) "php" durch das Wort ersetzen, auf dessen Nicht-Vorhandensein geprüft werden soll, und c) die Pastebin-Adresse durch die Adresse des Buttons ersetzen, auf den automatisiert geklickt werden soll.

Das Ganze wird alle 60 Sekunden wiederholt. :)

Falls Formulardaten analysiert und abgeschickt werden sollen, geht das mit ein paar weiteren Zeilen Code.

Aber wie gesagt, diese Aufgabe ist in so ziemlich jeder Sprache, egal ob Python, Ruby, Perl, Bash, C++, JavaScript, Java, C#, oder was auch immer, trivial lösbar. :)

...zur Antwort

Das geht mit so ziemlich jeder Audiosoftware, auch dem kostenlosen Audacity. Meistens heißt das "Pitch-Shift" oder so ähnlich.

Falls du aus einer Männer- eine Frauenstimme (oder umgekehrt) machen willst, geht das mit Filtern, die dir Manipulationen an den Formanten erlauben. Das geht ebenfalls mit nahezu jeder Audiosoftware oder speziell dafür entwickelten Plugins.

Außerdem gibt es dafür noch fertige Hardware, wie den neuesten "Roland VT-4", den du zwischen dein Mikro und das Aufnahmegerät bzw. den Rechner hängst.

Uuuuuund du kannst dafür nahezu jeden Synthesizer missbrauchen.

Die Möglichkeiten sind wirklich grenzenlos, aber die Stimme im Video ist nur ein ganz primitiver Pitch-Shifter, also so ziemlich das Einfachste was man sich vorstellen kann!

Geht bei Audacity übers Menü:

  1. Effect
  2. Change Pitch
  3. Einstellungen nach Wunsch vornehmen
  4. ???
  5. Profit! ;)

Viel Spaß! :)

...zur Antwort

Das Abstreiten von medizinischen Fakten, völlige Unkenntnis in Statistik, Verständnisschwierigkeiten bei den Begriffen "Atom", "Molekül", "Verbindung", und arge Probleme mit Mengen- und Maßangaben haben fast alle Impfgegner gemeinsam.

Da kannst du noch so diskutieren ... du wirst gegen eine Wand reden, weil Bauchgefühl und dubiose Blogeinträge aus anonymen Quellen offenbar glaubwürdiger sind. :)

Schönes Beispiel:

In Impfgegnerkreisen wird ja immer wieder gerne darauf hingewiesen, dass Impfungen Formaldehyd enthalten.

Leider hat sich unter denen noch nicht rumgesprochen, dass selbst Säuglinge bereits mehrere Zehntausend mal mehr Formaldehyd im Körper haben, als bei einer Impfdosis überhaupt verabreicht wird ... einfach als natürliches Stoffwechselprodukt.

Die wissen schlicht nicht, was Formaldehyd ist, wo es herkommt, was es für Eigenschaften hat, gar nix ... die hören einfach nur dieses Wort und bekommen sofort ihren Tunnelblick. ;)

Mit Fanatikern kann man einfach nicht diskutieren, und die Zeit / Geduld / Ressourcen auch nur einen von denen umzustimmen, habe ich nicht.

Wären die nicht so eine große Gefahr für die Allgemeinheit, würde ich sagen: "Soll'n se machen, kann man ja ignorieren", aber diese Leute verbreiten ihre falschen Ansichten (auch glatte Lügen) unverblümt, und gefährden damit andere unwissende oder naive Menschen, bzw. die Schwächsten der Gesellschaft, die auf einen Herdenschutz angewiesen sind. (Säuglinge, Krebspatienten, etc.)

...zur Antwort

Da kranke Menschen oft einen Arzt aufsuchen, könnte es sein, dass du dir im Wartezimmer einen Infekt zugezogen hast. Oder in der Bahn, im Supermarkt, irgendwo.

Dass du direkt nach dem Impfen krank wirst, hat nicht unbedingt etwas mit dem Impfen zu tun. Ich hatte mir vor einer Weile auf einer Reise eine Erkältung eingefangen ... daraus zu schließen, dass Reisen Erkältungen auslösen, wäre aber offensichtlich der falsche Schluss. :)

PS: Keuchhusten hat überhaupt gar nix mit Halsschmerzen zu tun. Wenn du dich beim Kartoffeln-Schälen schneidest, hast du deshalb auch noch nicht gleich einen Oberschenkelhalsbruch, auch wenn es unangenehm ist. :)

...zur Antwort

Keiner der bisher Antwortenden scheint das Buch zu besitzen, geschweige denn überhaupt durchgelesen zu haben.

Ich besitze das Buch und es ist eine Einführung in die typischen Exploit-Techniken, mithilfe von Reversing und Assemblerkenntnissen. Entsprechende Grundkenntnisse vorausgesetzt, ist es weder schwierig, noch fordernd, enthält aber wichtige Grundlagen ... und erfordert eben Grundkenntnisse, ohne die man den Inhalt dieses Buches nicht verstehen können wird.

Verglichen damit sind andere Bücher, die das Wort "Hacking" im Titel tragen, reinster Pippifax, aber wenn du wirklich etwas lernen willst, und nicht auf Vorschulniveau hängen bleiben willst, dann solltest du dich da durch beißen! Vorher solltest du allerdings mehrere Skriptsprachen, Programmiersprachen und Assemblerdialekte gesehen haben, denn ohne die halte ich es für nicht machbar.

Dieses Buch ist zwar schon älter, lehrt dich aber Bsiswissen, ohne die du im weiteren Verlauf nicht auskommen wirst. Und - zumindest in abgewandelter Form - ist alles was darin steht auch ohne weiteres sowohl noch heute, als auch noch in 10 Jahren gültig. Kannst also getrost anfangen damit zu lernen ... dieses Wissen brauchst du eher früher als später sowieso, vorausgesetzt, du willst Reverser werden.

Wenn du damit durch bist, arbeitest du dich in radare2 ein, und suchst bei Google nach sog. "Crackmes", an denen du deinen Spieltrieb befriedigen und dein Wissen erweitern kannst.

Es gibt zwei Gruppen von Hackern: Welche die oft und gerne davon sprechen, um ihre Bücher zu verkaufen, selbst aber im Grunde genommen überhaupt nicht "hacken", sondern einfach nur Werkzeuge nutzen, bzw. hier und da mal ein Skript zusammen bauen, ... und dann gibt es diejenigen, die schweigen, dir dafür aber remote (fast) jede Kiste mit eigenen Zerodays aufmachen (könnten).

Leute aus der ersten Gruppe gibt es wie Sand am Meer, Leute aus der letzten hingegen sind rar gesät. :)

Von dem Buch "Hacking - Die Kunst des Exploits", sind Bücher mit "Hacking" oder "Hacker" im Titel allerdings ein ziemlich sicheres Zeichen für Unseriosität und außer dem Buch aus deiner Frage ist mir kein solches anderes Buch bekannt, welches ich nicht in die Kategorie "Geldschneiderei" packen würde.

Achte beim Kauf von Büchern auch immer auf einen guten Fachverlag, und keine Selbstverleger bzw. "Print-on-Demand" Anbieter, weil auch das wieder ein ziemlich sicheres Zeichen für mangelnde Qualität sein wird. (Auch wenn es sicherlich hin und wieder eine Ausnahme geben wird.)

Falls du dich wirklich durch dein Buch beißen willst, dann lerne erst mal C, danach Assembler für x86 bzw. x64 (die Bücher von Ray Seyfarth sind richtig gut) und beschäftige dich danach mit Debuggern. Aber das wird sehr hart werden und erfordert sehr viel Willensstärke.

Vermutlich wirst du schon am Anfang aufgeben oder das Interesse verlieren, aber das passiert den meisten, also mach dir deshalb keinen Kopf. :)

...zur Antwort