Что нового

[Криптография] Декодирование картинок BASE64

mrPuh

Новичок
Сообщения
15
Репутация
0
Всем привет!
В файле XML (прилагаю) в параметре :rofl::inline имеются картинки в BASE64.
Я их декодирую с помощью функции и сохраняю в .jpg.
Код:
Func _Encoding_Base64Decode($sData)
	Local $struct = DllStructCreate("int")

	$a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", _
			"str", $sData, _
			"int", 0, _
			"int", 1, _
			"ptr", 0, _
			"ptr", DllStructGetPtr($struct, 1), _
			"ptr", 0, _
			"ptr", 0)

	If @error Or Not $a_Call[0] Then
		Return SetError(1, 0, "") ; error calculating the length of the buffer needed
	EndIf

	Local $a = DllStructCreate("byte[" & DllStructGetData($struct, 1) & "]")

	$a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", _
			"str", $sData, _
			"int", 0, _
			"int", 1, _
			"ptr", DllStructGetPtr($a), _
			"ptr", DllStructGetPtr($struct, 1), _
			"ptr", 0, _
			"ptr", 0)

	If @error Or Not $a_Call[0] Then
		Return SetError(2, 0, "") ; error decoding
	EndIf

	Return BinaryToString(DllStructGetData($a, 1))
EndFunc

Но в последней картинке декодируется только небольшая часть и видно что картинка gif, а не jpg.
Какой функцией можно ее декодировать подскажите пожалуйста.
Таких XML-файлов и картинок в них много.
 

Вложения

Верх