- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Codeknacken Teil 2 1/2

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.02.2006
    Alter
    54
    Beiträge
    781
    Anzeige

    E-Bike
    Den Algorithmus hab ich mir selbst ausgedacht, => Richtig, er ist es nicht

  2. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    HI

    Naja, der 1. Tipp ist eh klar, und der 2. sagt lediglich, dass 1 Zeichen = 1Byte ist, also 0xYY = 1 Zeichen im Orginaltext.
    Richtig?

    VLG Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  3. #13
    Neuer Benutzer Öfters hier
    Registriert seit
    30.06.2006
    Beiträge
    15
    Nein, das 0xYY is nur die Hexadezimale Darstellung eines Bytes, aber der zweite Tipp bedeutet gleube ich das die Datenmenge nach der Verschlüsselung (also die in der Datei) doppelt so groß ist.

    mfG

  4. #14
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.02.2006
    Alter
    54
    Beiträge
    781
    Ja, das meinte ich. Die Datenmenge wird verdoppelt.

    MfG

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.02.2006
    Alter
    54
    Beiträge
    781
    Tipp 3, wobei ich denke dass es damit schon fast gelöst ist:

    Code:
    
    
    Aus einem Zeichen werden jeweils zwei gemacht. Aus den zwei Bytes lässt sich das vorherige Byte errechnen

  6. #16
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.10.2004
    Ort
    Rheinstetten
    Alter
    41
    Beiträge
    357
    Code:
    Joah, das ist dann wohl der decodierte Text.
    
    Herzlichen Glückwunsch!
    
    MfG
    
    Dennis Strehl
    Hier das entschlüsselnde Java-Programm:


    Code:
    package rn;
    
    public class Hex {
    	public static void main(String[] args) {
    		String hex = "0x14 0xca 0xf0 0x81 0xdd 0x7c 0xfb 0x93 0x81 0x55 "
    			+"0x93 0x73 0x44 0xe0 0xb0 0x4f 0x93 0x20 0x8f 0x6f "
    			+"0xb9 0x50 0x63 0xf0 0x17 0xa3 0xac 0x8c 0x67 0x03 "
    			+"0xb0 0x4f 0x43 0xd5 0xd0 0x62 0xd2 0xb2 0x3b 0xc4 "
    			+"0x9d 0x2e 0x72 0x0a 0x00 0x94 0x45 0x25 0x0b 0xa7 "
    			+"0x81 0x1c 0xd4 0x62 0xed 0xcd 0x1c 0xb8 0x14 0xaf "
    			+"0xb6 0x53 0x01 0x92 0xbc 0x58 0xc5 0x5c 0x85 0x20 "
    			+"0x3e 0xcc 0x73 0xff 0x9f 0x3a 0x20 0x00 0xa8 0x54 "
    			+"0x0b 0xa6 0x59 0xe1 0x20 0xac 0xaf 0x81 0xd1 0xc4 "
    			+"0x74 0x6a 0x68 0x5b 0x36 0x2c 0x9a 0x52 0xd2 0x6d "
    			+"0x38 0xc6 0x26 0xac 0x34 0xc8 0x6a 0x01 0x87 0x24 "
    			+"0x42 0xda 0x82 0x1d 0x2d 0xbf 0x4e 0x2e 0x55 0x0e "
    			+"0x35 0xc9 0xba 0xbe 0x7e 0x1b 0x89 0x1e 0x3c 0xc5 "
    			+"0x0b 0x96 0x12 0xa4 0xd8 0x65 0xec 0x89 0xc8 0x60 "
    			+"0x21 0x00 0xc6 0xb9 0x16 0x0c 0xc1 0xb4 0xf2 0xe8 "
    			+"0xbf 0x72 0x2c 0xc6 0xf0 0xa9 0xa0 0x93 0x73 0x69 "
    			+"0xbd 0xb0 0xe2 0xd8 0xfd 0xb9 0x5a 0xf5 0xb0 0x42 "
    			+"0xc6 0x58 0xfd 0x94 0x62 0xef 0x93 0x73 0x14 0xc1 "
    			+"0x4d 0xd9 0x20 0xae 0x20 0xbb 0x95 0x2d 0x2f 0xc3";
    		
    		String[] values = hex.split(" ");
    		
    		for (int i=0; i<values.length; i+=2) {
    			int x = Integer.parseInt(values[i].replace("0x", ""), 16)
    						- Integer.parseInt(values[i+1].replace("0x", ""), 16);
    			System.out.print((char)Integer.parseInt(Integer.toHexString(x).replace("ffffff", ""), 16));
    		}
    	}
    
    }
    Unwissenheit ist ein Segen

  7. #17
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.02.2006
    Alter
    54
    Beiträge
    781
    Sehr schön
    Die Codierung ist nix besonderes, nur man muss halt drauf kommen.
    Die Codierung läuft wie folgt: Es wird für jedes Zeichen ein Zufallswert zwischen 0 und 255 erzeugt, der wird zum jeweiligen Zeichen addiert und beide Werte werden nacheinander ausgegeben. Das wird für jedes Zeichen gemacht, und so hat man nachher doppelt so viele Zeichen wie vorher.

    Das Decodieren geht dann, indem man den Zufallswert einfach wieder vom codierten Wert abzieht. Wenn man das Programm hat, geht das dann verdammt schnell.

    Ich glaube, für die nächste Stufe mach ich irgendwie was mit md5. Das bekommt ihr nie hin :-P

    Thread kann geschlossen werden.

    mfG

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress