Base64 Konvertierung mit MASM
-
Hallo zusammen,
ich möchte in meinem Programm mit einer Base64 Konvertierung ausstatten.
Das umwandeln von "normalen" ASCII Zeichen nach Base64 klappt wunderbar und das habe ich in 4 Stunden geschafft
Jedoch funktioniert meine Rückkonvertierung von Base64 nach ASCII überhaupt nicht richtig. Ich scheitere schon an folgendem Code:
xor eax, eax mov al, 00011011b rol eax, 6d or al, 00110110b rol eax, 6d or al, 00110001b rol eax, 6d or al, 00101001b rol eax, 14dzur Erklärung. Ich habe die Buchstaben "o", "l" und "i".
(Drei ASCII Buchstaben ergeben 24bit Daten, diese teile ich auf 4x 6Bit auf)Ich versuchen oben diese 4x 6Bit aneinander zu reihen und dann in einem Buffer mit stosd zu befördern und auszugeben.
wenn ich 3x 8 Bit und jeweils rol eax, 8 nutze funktioniert das ganze wie es soll. Er gibt mir dann "oli" in der Textbox zurück.
Der folgende Codeabschnitt funktioniert.xor eax, eax mov al, 01101111b rol eax, 8d or al, 01101100b rol eax, 8d or al, 01101001b rol eax, 8dIch hoffe jemand versteht was ich vorhabe und kann mit sagen woran es liegt.
Gruß, Nicky
-
supernicky schrieb:
Ich hoffe jemand versteht was ich vorhabe und kann mit sagen woran es liegt.
Du shiftest zu weit. Statt
rol eax,14dmuss esrol eax,8dheißen.viele grüße
ralph
-
rkhb schrieb:
supernicky schrieb:
Ich hoffe jemand versteht was ich vorhabe und kann mit sagen woran es liegt.
Du shiftest zu weit. Statt
rol eax,14dmuss esrol eax,8dheißen.viele grüße
ralphHallo Ralph,
habe mich von den 3x 6Bit verleiten lassen.. nun läufts aber..
Ganz schöner Aufwand für eine Base64 Konvertierung
Gruß, Nicky