Welcome to the Xceed Community Sign in | Join | Help
Community Search  

Does Xceed use industry standard compression algorithms ?

Sort Posts: Previous Next
  •  05-20-2008, 6:44 PM Post no. 12391

    Does Xceed use industry standard compression algorithms ?

    Objective:
    Uncompress the data on the linux server. The data was compressed on a windows server using the default compression algorithm of  "xceed zip verion 4.2"

    Things noticed:
    The compressed data always begins with the hex code: 00 33 30 30 32 37

    Things tried:
    1. Running the xcced DLL using wine on linux.
    2. Posting in the newsgroup at: http://groups.google.com/group/comp.compression/browse_thread/thread/c840937f624ae8dd

    Sample compressed data:
    1. Binary representation
    http://www.debtconsolidationcare.com/rnd/zip/compressedpacket.1.txt
    http://www.debtconsolidationcare.com/rnd/zip/compressedpacket.2.txt
    http://www.debtconsolidationcare.com/rnd/zip/compressedpacket.3.txt
    http://www.debtconsolidationcare.com/rnd/zip/compressedpacket.4.txt
    http://www.debtconsolidationcare.com/rnd/zip/compressedpacket.5.txt
    2. Hex Representation
    http://www.debtconsolidationcare.com/rnd/zip/wireread.txt

    I would really appreciate some feedback on how to solve this problem. If you need any more information from me please feel free to ask.

    Thanks a ton for your time,

    -- 

    Sysadmin
    Internet first get out of debt community
    http://www.debtconsolidationcare.com
    Phone: 800 601 1579 x 8003

  •  05-21-2008, 3:56 PM Post no. 12431 in reply to 12391

    Re: Does Xceed use industry standard compression algorithms ?

    You have to determine whether the data is a zip file or raw compressed data. Your context suggests that this is raw compressed data.
     
    We cannot give you a definite answer because we don't know exactly how the data was compressed at its source.
     
    However, we would suggest that the data you have is compressed using the Deflate compression method and formatted using the ZLib format, which is a small header at the start of the data. This is what the streaming compression part of our Zip compression product uses by default.
     
    You could use the ZLib library to decompress this data. Try feeding the data to ZLib by telling it it is compressed with deflate. If the library has an option to look for the ZLib header, use it. If it doesn't work, try it again but without looking for the ZLib format and header.
     
    If that doesn't work, try the other compression methods supported by Zlib.

    Charles Bérubé-Rémillard
    Technical Support
    Xceed Software Inc.
  •  05-23-2008, 5:45 AM Post no. 12464 in reply to 12431

    Re: Does Xceed use industry standard compression algorithms ?

    Thanks a ton for your reply. 

    CharlesB:
    You have to determine whether the data is a zip file or raw compressed data. Your context suggests that this is raw compressed data.

    This is raw compressed data sent using UDP packets. 

    CharlesB:
      We cannot give you a definite answer because we don't know exactly how the data was compressed at its source.

    The source sending the compressed data provides a documentation which says:

    "All messages sent to us should be compressed using Xceed Zip Version 4.2
    All messages recevied should be uncompressed using Xceed Zip Version 4.2
    Xceed Zip Compression functionality if provided by Xceedzip.dll (COM Component 4.2) in class XceedCompressionClass which resides under XceedZipLib (Namespace). Methods used are Compress and Uncompress for compressing and decompressing data respectively."
     

    CharlesB:
    However, we would suggest that the data you have is compressed using the Deflate compression method and formatted using the ZLib format, which is a small header at the start of the data. This is what the streaming compression part of our Zip compression product uses by default.

    I have read the RFC 1950 http://www.faqs.org/rfcs/rfc1950.html which defines the header used in Zlib. But I was not able to understand what the header "00 33 30 30 32 37" means ? Is this a header specific to Xceed library ?

     

    CharlesB:
    You could use the ZLib library to decompress this data. Try feeding the data to ZLib by telling it it is compressed with deflate.

    I used the program http://www.zlib.net/zpipe.c listed on http://www.zlib.net/zlib_how.html and these are the two commands I gave:

    # g++ zpipe.c -lz
    # ./a.out -d < compressedpacket.1.txt > uncompressedpacket.1.txt
    zpipe: invalid or incomplete deflate data

    Zlib is telling me  invalid or incomplete deflate data.
     

    CharlesB:
    If the library has an option to look for the ZLib header, use it. If it doesn't work, try it again but without looking for the ZLib format and header.

    I can not find any such option in the  zlib manual http://www.zlib.net/manual.html
     

    CharlesB:
    If that doesn't work, try the other compression methods supported by Zlib.

    The manual http://www.zlib.net/manual.html talks about different window sizes. I am wondering what is the default window size used by Xceed and if that might have effect on inflating the data.

    I am wondering what how should I go about inflating this data. Any help would be very much appreciated.

    Thanks for your time,

    ----

    Sysadmin
    Internet first get out of debt community
    http://www.debtconsolidationcare.com
    Phone: 800 601 1579 x 8003
  •  05-27-2008, 8:42 AM Post no. 12522 in reply to 12464

    Re: Does Xceed use industry standard compression algorithms ?

    00 means the data is not encrypted and use the Deflated compression format.

    First byte : 0 = not encrypted, 1 = encrypted

    Second Byte: 0 = Deflated, 1 = Stored, 3 = Deflated64

    Here is more information on UDP packets, and why the first part is always the same :

     http://www.tcpipguide.com/free/t_UDPMessageFormat.htm

    Thus is the data is always the same, the result of compression is also always the same.

     To directly decompress the data, you could use the ZLib algorithm and skip the first 2 bytes.

     


    André
    Software Developer and Tech Support
    Xceed Software Inc.
View as RSS news feed in XML
Contact | Site Map | Reviews | Legal Terms of Use | Trademarks | Privacy Statement Copyright 2008 Xceed Software Inc.