smartkram.git
6 months agoAdded license to flicker.sh master
Andreas Schiermeier [Thu, 26 Jul 2018 19:49:35 +0000 (21:49 +0200)]
Added license to flicker.sh

3 years agoGUI app for reading Flicker codes from screen
Michael Schierl [Wed, 6 Jun 2012 21:48:00 +0000 (23:48 +0200)]
GUI app for reading Flicker codes from screen

Match the flickering pixels with the dents in the program window
and observe the decoded data on stdout.

As this program uses a shape on a window with a title bar, which
is not officially supported by Java, this may break on some systems.

However, it was tested and working on Windows and Linux in Java 6/7.

3 years agoUpdate test program
Michael Schierl [Wed, 6 Jun 2012 21:48:00 +0000 (23:48 +0200)]
Update test program

Update based on https://wiki.ccc-ffm.de/projekte:tangenerator:start

Some of the "older" codes no longer work - either they were wrong
or the algorithm is.

3 years agoFirst version of flicker code test program
Michael Schierl [Sat, 16 Jan 2010 19:03:00 +0000 (20:03 +0100)]
First version of flicker code test program

From the original description (in German):

Ich schau mir gerade die Videoaufnahmen von diversen 26C3-Vorträgen an
(physisch anwesend war ich leider nicht) und bei den Lightning Talks hab
ich deinen Talk gesehen, wo du nach der Prüfsumme fragst.

Meine Theorie (die auch bei allen bis auf einer deiner angegebenen
Nummern stimmt) ist, dass hier eine Variation des wohl am häufigsten
benutzten Prüfziffernverfahren im Einsatz ist, das unter anderem für
Kreditkartennummern und z. T. auch für Kontonummern oder Matrikelnummern
genutzt wird, und das sich am einfachsten als "jede zweite Stelle
verdoppeln, dann Quersummen addieren" beschreiben lässt.

Genauer:

1. Klartextdaten extrahieren (also ASCII als ASCII und BCD als Zahlen).

Aus "11048718108705379090700F14362C30309B" wird so
"87181087 379090700 6,00"

2. Alle Zeichen die keine Zahlen sind rauswerfen:

87181087379090700600

3. Wenn die Zahl der Stellen ungerade ist, vermutlich als erste oder als
letzte Stelle (oder irgendwo in der Mitte) eine 0 anfügen. Leider war
bei allen angegebenen Codes die Stellenanzahl gerade.

4. Die Stellen separat schreiben und jede zweite Stelle verdoppeln.

8 14 1 16 1 0 8 14 3 14 9 0 9 0 7 0 0 12 0 0

5. Die Quersummen aller Zahlen addieren (alternativ alle Ziffern
addieren, läuft aufs Selbe raus):

8+1+4+1+1+6+1+0+8+1+4+3+1+4+9+0+9+0+7+0+0+1+2+0+0 = 71

6. Die Prüfziffer addieren: 71 + 9 = 80

7. Das Ergebnis ist glatt durch 10 teilbar wenn die Prüfziffer richtig
ist.

Ich hab meine Testklasse (in Java implementiert) mal angehängt,
vielleicht kannst du sie brauchen.

Diese Methode stimmte nicht bei
"0604800269582A" (es hätte "0604800269581A" sein müssen).
Vielleicht wurde der aber auch einfach nur falsch abgeschrieben?

Zum Vergleich: Die XOR-Prüfziffer stimmte, wenn ich sie richtig
implementiert habe, bei 2 Codes nicht: "06048002695658" (statt
"06048002695654") und "06048002695739" (statt "06048002695735").

Hoffe das hilft weiter,

6 years agoadded flicker.sh
Andreas Schiermeier [Sat, 16 Jun 2012 22:25:37 +0000 (00:25 +0200)]
added flicker.sh