Search code examples
xmlencodingmetadatajpegxmp

How to decode xmp/xml image data?


I am currently fiddling around with metadata and generally how to write/read it. In order to get a better understanding of it, I try to decode various files. In this case I have an .indd (Adobe InDesign) document that apparently has an image stored in its meta files. Now I wonder if it's possible to decode it and see the image somehow.

If I run it through a base64 decoder it shows some words like "Photoshop", "JFIF", ... but mainly gibberish.

Do you have an idea how this image might be encrypted and what steps it takes to decrpyt it?

Thank you a lot!

<xmp:PageInfo>
        <rdf:Seq>
           <rdf:li rdf:parseType="Resource">
              <xmpTPg:PageNumber>1</xmpTPg:PageNumber>
              <xmpGImg:format>JPEG</xmpGImg:format>
              <xmpGImg:width>256</xmpGImg:width>
              <xmpGImg:height>256</xmpGImg:height>
              <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4AE0Fkb2JlAGQAAAAAAQUAAklE/9sAhAAKBwcHBwcKBwcKDgkJCQ4RDAsLDBEU&#xA;EBAQEBAUEQ8RERERDxERFxoaGhcRHyEhISEfKy0tLSsyMjIyMjIyMjIyAQsJCQ4MDh8XFx8rIx0j&#xA;KzIrKysrMjIyMjIyMjIyMjIyMjIyMjI+Pj4+PjJAQEBAQEBAQEBAQEBAQEBAQEBAQED/wAARCAEA&#xA;ALUDAREAAhEBAxEB/8QBogAAAAcBAQEBAQAAAAAAAAAABAUDAgYBAAcICQoLAQACAgMBAQEBAQAA&#xA;AAAAAAABAAIDBAUGBwgJCgsQAAIBAwMCBAIGBwMEAgYCcwECAxEEAAUhEjFBUQYTYSJxgRQykaEH&#xA;FbFCI8FS0eEzFmLwJHKC8SVDNFOSorJjc8I1RCeTo7M2F1RkdMPS4ggmgwkKGBmElEVGpLRW01Uo&#xA;GvLj88TU5PRldYWVpbXF1eX1ZnaGlqa2xtbm9jdHV2d3h5ent8fX5/c4SFhoeIiYqLjI2Oj4KTlJ&#xA;WWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+hEAAgIBAgMFBQQFBgQIAwNtAQACEQMEIRIxQQVRE2Ei&#xA;BnGBkTKhsfAUwdHhI0IVUmJy8TMkNEOCFpJTJaJjssIHc9I14kSDF1STCAkKGBkmNkUaJ2R0VTfy&#xA;o7PDKCnT4/OElKS0xNTk9GV1hZWltcXV5fVGVmZ2hpamtsbW5vZHV2d3h5ent8fX5/c4SFhoeIiY&#xA;qLjI2Oj4OUlZaXmJmam5ydnp+So6SlpqeoqaqrrK2ur6/9oADAMBAAIRAxEAPwCbeU/KflW58q6L&#xA;cXGi6fNNNp9rJJJJaws7u0MbMzM0ZJJJ3OKpt/gzyf8A9WHTf+kOD/qnirv8GeT/APqw6b/0hwf9&#xA;U8Vd/gzyf/1YdN/6Q4P+qeKu/wAGeT/+rDpv/SHB/wBU8Vd/gzyf/wBWHTf+kOD/AKp4q7/Bnk//&#xA;AKsOm/8ASHB/1TxV3+DPJ/8A1YdN/wCkOD/qnirv8GeT/wDqw6b/ANIcH/VPFXf4M8n/APVh03/p&#xA;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&#xA;7/Gfk/8A6v2m/wDSZB/1UxV//9k=</xmpGImg:image>
           </rdf:li>
        </rdf:Seq>
     </xmp:PageInfo>

Solution

  • Oh, I found the solution. According to this post (https://stackoverflow.com/a/5541237/13174465) the characters &#xA; are encoded HTML new lines. I replaced those characters with a new line and was able to decode the data. An online tool that converts base64 to jpeg then did the job. Turns out that the was the thing that I missed out.