Подскажите пожалуйста функции кодирования и декодирования формата UUE и XXE.
Есть функции кодирования base64:
base64, UUE и XXE похожи, но есть различия, есть статья
Из файла Test.txt с текстом
В XXE вывод:
В UUE вывод:
Есть функции кодирования base64:
Код:
Func _Encoding_Base64Decode($sData)
$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,"")
$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,"")
Return BinaryToString(DllStructGetData($a,1))
EndFunc
Func _Encoding_Base64Encode($sData)
$sData=Binary($sData)
$struct=DllStructCreate("byte["&BinaryLen($sData)&"]")
DllStructSetData($struct,1,$sData)
Local $strc=DllStructCreate("int"),$a_Call=DllCall("Crypt32.dll","int","CryptBinaryToString","ptr",DllStructGetPtr($struct),"int",DllStructGetSize($struct), "int",1,"ptr",0,"ptr",DllStructGetPtr($strc))
If @error Or Not $a_Call[0] Then Return SetError(1,0,"")
$ast=DllStructCreate("char["&DllStructGetData($strc,1)&"]")
$a_Call=DllCall("Crypt32.dll","int","CryptBinaryToString","ptr",DllStructGetPtr($struct),"int",DllStructGetSize($struct),"int",1,"ptr",DllStructGetPtr($ast),"ptr",DllStructGetPtr($strc))
If @error Or Not $a_Call[0] Then Return SetError(2,0,""); error encoding
Return BinaryToString(DllStructGetData($ast,1))
EndFunc
base64, UUE и XXE похожи, но есть различия, есть статья
Из файла Test.txt с текстом
Код:
12345
В XXE вывод:
Код:
begin 644 Test.txt
3AH6nB1I+
+
end
sum -r/size 4197/5
В UUE вывод:
Код:
begin 644 Test.txt
%,3(S-#4`
`
end
sum -r/size 4197/5