2011-01-03 6 views
2

Ich habe es mit einer seltsamen base64 Variation zu tun. Ich muss Decoder dafür schreiben, aber ich bin mit Reverse Engineering geblieben. Es unterscheidet sich nicht so sehr von Original base64. Es sieht so aus, als ob da etwas mit etwas Polsterung oder etwas ist.Reverse Engineering Base64 Variation

Hier sind einige bekannte kodierten Strings:

  • YQ == - ein
  • YQA = - aa
  • YQBh - aaa
  • YQBhAA == - aaaa
  • YQBhAGE = - aaaaa
  • YQBhAGEA - aaaaaa
  • YQBhAGEAYQ == - AAAAAAA
  • YQBhAGEAYQA = - AAAAAAAA
  • YQBhAGEAYQBh - aaaaaaaaa
+0

Wie codiert eine leere Zeichenfolge? – Quamis

+0

Leere Zeichenketten sind überhaupt nicht codiert wie der ursprüngliche base64-Codierer. – susivienijimas

+0

Bitte posten Sie weitere Beispiele. Ich nehme an, dass die "Bit-Endianness" geändert wird. – ruslik

Antwort

2

Auf die Gefahr hin dumm, würde meine Wette sein, dass die Codierung über eine Buggy-Implementierung, die Zeichen und wchar_ts zusammen mischt.

Mit "normalen" base64 dekodiert die Zeichenfolge 'YQA =' zu 'a \ x00' und die 'YQBhAGEAYQA =' dekodiert zu 'a \ x00a \ x00a \ x00a \ x00'.

Jede Möglichkeit, Sie könnten ein paar weitere Beispiele liefern, so dass wir diese Theorie abbrechen können?

+0

Das Problem war kein Algorithmus, sondern Daten. – susivienijimas