Encrypted XML

For everything that's not in any way related to PureBasic. General chat etc...
User avatar
jacdelad
Addict
Addict
Posts: 1431
Joined: Wed Feb 03, 2021 12:46 pm
Location: Planet Riesa
Contact:

Encrypted XML

Post by jacdelad »

Hello,
I have a problem. I have an XML file with encrypted content:
<?xml version="1.0" encoding="utf-8"?><VvDataModel Encrypted="true">AB+LCAAAAAAABAB7v3u/TViZS2JJom9+SmqOnU1Iam5BTmJJqoJzTmJxsa0SjK8XlFpcmlMCFjVSsrOBcMMSc0pTi1F4Cn6Juam2SkFhegFAA1JTlBTAimyVDJQUnPNz8otslZTT0gwMQFhJQR+HXrfEzBwkvYbIekE6oXr1UZ2hD3OtnY0+sq8AxazsiuYAAAA=</VvDataModel>
An example of an unencrypted file would be:
<?xml version="1.0" encoding="utf-8"?>
<VvDataModel>
<Template Class="Template.ResultClass2">
<ResultValues>
<ResultValue Name="RV.Passed" Value="0" Color="#ff00ff00" />
<ResultValue Name="RV.Failed" Value="1" Color="#ffff0000" />
</ResultValues>
</Template>
<Template Class="Template.Component" PositionX="" PositionY="" PositionZ="{#[~[Inspectable=true]\SizeZ] * 0.5 + #[SizeZ] * 0.5}" RotationZ="" PartNr="" Inspectable="Root" RootInspectable="true" />
<Template Class="Template.Region" SizeX="" SizeY="" Illumination="" CamType="" CamResolution="" Reference="~[Class=Panel]" />
<Template Class="Pin" PositionX="" PositionY="" PositionZ="" RotationZ="" Type="" Inspectable="true" />
</VvDataModel>
I suspect, that the encrypted part also starts with " <Template Class=", because all my encrypted files seem to start with "AB+LCAAAAAAABAB".
However, has anyone the slightest clue what kind of encryption may be used here? I suspect there's some kind of encryption/compression (I suspect a compression) and afterwards base64-encoding. But I don't have the slightest clue how get further (beside running it through a base64-decoder and wondering about the result).

Note: The both examples are different files with surely different content. I just wanted to show, how a decrypted file may look like.

Another example:
<?xml version="1.0" encoding="utf-8"?><VvDataModel Encrypted="true">AB+LCAAAAAAABAB9UE0LglAQ/CuP112ts3oxgg6FmEgRHZZcQ1h94tOgDv2xDv2k/kLrF70uHRZmmJ2dYd/Pl5tcl9DARqVIvhtjURE0KAICrT05cSvCS65KKXb5HfeeHMChA2uitshLaFjveABFfKtwhBFqRe2kRZhhjeWZ1cdxiAihRDpJYf8N1y01/f5C+i7fZJoAtah/mNhCwaejxAq5PaZS9EuedLiWIlV7cpZljtNNn2hc+npXkJPhnZvezjl6bcPMNezpVQzNl34AEMuIh2MBAAA=</VvDataModel>
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
User avatar
NicTheQuick
Addict
Addict
Posts: 1224
Joined: Sun Jun 22, 2003 7:43 pm
Location: Germany, Saarbrücken
Contact:

Re: Encrypted XML

Post by NicTheQuick »

That's not an encryption. It's just an encoding: Base64.

Edit: Sorry, I did not read you post carefully enough. I will answer again.
The english grammar is freeware, you can use it freely - But it's not Open Source, i.e. you can not change it or publish it in altered way.
User avatar
NicTheQuick
Addict
Addict
Posts: 1224
Joined: Sun Jun 22, 2003 7:43 pm
Location: Germany, Saarbrücken
Contact:

Re: Encrypted XML

Post by NicTheQuick »

Since the encrypted data always starts with the same bytes I guess a shared key without any salt or with a constant initialization vector is used here.
I tried to find out what the encryption is but was not able to do so. It could be all sort of stuff. I don't think it's compressed since then the beginning of the data usually differs since there has to be some meta information about the compressed data.

How did you encrypt/decrypt it by yourself?
The english grammar is freeware, you can use it freely - But it's not Open Source, i.e. you can not change it or publish it in altered way.
User avatar
jacdelad
Addict
Addict
Posts: 1431
Joined: Wed Feb 03, 2021 12:46 pm
Location: Planet Riesa
Contact:

Re: Encrypted XML

Post by jacdelad »

These files are usually encrypted, but I got to lay hands on some unencrypted ones. I have more files, up to 60kB, if that helps.

You might be right, it's maybe not compressed.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
User avatar
jacdelad
Addict
Addict
Posts: 1431
Joined: Wed Feb 03, 2021 12:46 pm
Location: Planet Riesa
Contact:

Re: Encrypted XML

Post by jacdelad »

I found a service tool for the software suite, which is able to encode and decode these files. A colleague was able to decompile it (it's written in C#). With the source it should not take too long to get behind the decryption.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
User avatar
jacdelad
Addict
Addict
Posts: 1431
Joined: Wed Feb 03, 2021 12:46 pm
Location: Planet Riesa
Contact:

Re: Encrypted XML

Post by jacdelad »

Ok, so we got it. But I still have trouble:
The "payload" is, like we all expected, Base64-encoded. Now, after decoding, the first byte has to be cut off (it's always #Null). The remaining *memory is gzip-encrypted, and that's where the problems begin. I searched for "PureBasic gzip" and found several threads:
viewtopic.php?t=44654
viewtopic.php?t=60240&start=15
http://forums.purebasic.com/english/vie ... hp?t=55888
...and so on. The problem is, that I don't get any of them to work. It looks like the first 4 bytes of the stream are the decompressed length (DecLength.l=PeekL(*mem)), but even that doesn't work.

BTW: Base64-decoding, cutting the trailing zero-byte, re-base64-encoding and putting the result into
https://codebeautify.org/gzip-decompress-online
successfully decodes it.
Example:

Code: Select all

CompilerIf #PB_Compiler_OS = #PB_OS_Windows 
  
  ImportC "zlib.lib"
    compress2(*dest,*destlen,*source,sourcelen,level)
    uncompress(*dest,*destlen,*source,sourcelen)
  EndImport 
CompilerElse 
  
  ImportC "-lz"   
    compress2(*dest,*destlen,*source,sourcelen,level)
    uncompress(*dest,*destlen,*source,sourcelen)
  EndImport 
CompilerEndIf 

Procedure GZ_Uncompress(*in,InLength)
  Protected Size,*dest
  If PeekW(*in) & $FFFF <> $8B1F
    Debug "Header Mismatch"
    ProcedureReturn -1
  EndIf
  Size=PeekL(*in+InLength-4)
  If Size<1
    Debug "Size Mismatch"
    ProcedureReturn -1
  EndIf
  *dest=AllocateMemory(Size)
  
  Debug "InSize:  "+Str(InLength)
  Debug "OutSize: "+Str(Size)
  Debug "CRC32:   "+PeekL(*in+InLength-8)
  Debug "Result: "+Str(uncompress(*dest,@Size,*in,InLength))
  Debug "ResultSize: "+Str(Size)
  ;ProcedureReturn *dest
EndProcedure

Global *Buffer,BufferSize=100000,Temp$
*Buffer=AllocateMemory(100000)
Temp$="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"
Temp$+"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"
BufferSize=Base64Decoder(Temp$,*Buffer,BufferSize)
GZ_Uncompress(*Buffer,BufferSize)
Also, the result of uncompress(...) is "4294967293", which it shouldn't be.

also, also: If I save the base64-decoded data into a file I can even open it in 7-Zip...

Edit: I am reading about gzip and stuff, and the last 4 bytes contain the size of the original memory block. Ok, one step further.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
User avatar
jacdelad
Addict
Addict
Posts: 1431
Joined: Wed Feb 03, 2021 12:46 pm
Location: Planet Riesa
Contact:

Re: Encrypted XML

Post by jacdelad »

Ok, so I solved it. Fighting a bit with XML, but that will be a short fight.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Post Reply