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 geschafftJedoch 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, 14d
zur 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, 8d
Ich 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,14d
muss esrol eax,8d
heiß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,14d
muss esrol eax,8d
heiß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 KonvertierungGruß, Nicky