Author Topic: ibb.trid.xml for ImgBurn Project File *.IBB  (Read 812 times)

jenderek

  • Sr. Member
  • ****
  • Posts: 375
ibb.trid.xml for ImgBurn Project File *.IBB
« on: March 11, 2023, 03:20:45 PM »
Hello trid users,

Some days ago i handle some CD-ROM images. The standard format has a suffix
like iso. But especially on Windows also some other formats are used. One
format use IBB as suffix.

So i looked for such files on my system. Such samples like
AKOYA-RECOVERY.IBB md6471.ibb were created by myself via CD-burning tool
ImgBurn.

So i run trid utility on such IBB examples. All are described in principal
correct as "Text - UTF-16 (LE) encoded" by txt-utf-16-le.trid.xml but with
wrong suffix TXT (See appended output/trid-v-old.txt).

For comparison reason i also run file command (newest version 5.44) on such
samples. Here these are described as "Unicode text, UTF-16, little-endian
text" with sub classification "[with CRLF line terminators"] (See appended
output/file-5.44.txt) and with mime type text/plain (See appended
output/file-i-5.44.txt) and no extension (see appended
output/file-ext-5.44.txt).

For comparison reason i also run the file format identification utility
DROID ( See https://sourceforge.net/projects/droid/). This does not describe
such IBB samples.

Unfortunately i found no page about the used text file format and especially
from ImgBurn. So i i don use ImgBurn home page www.imgburn.com as
reference. Instead i choose ImgBurn page on Wikipedia. This is expressed by
line like:
   <RefURL>https://en.wikipedia.org/wiki/ImgBurn</RefURL>


Apparently the IBB examples are just used simple text files in INI like
format but encoded as UTF-16 in little endian format. So i can use the
generic mime type text/plain. But instead i use a more specific user defined
one. So this is now expressed by line like:
   <Mime>text/x-ibb</Mime>

So i run tridscan on such IBB samples to generate ibb.trid.xml. Apparently
IBB samples always contains the same start. Apparently all IBB samples start
with same 4 same lines like:
IBB

[START_BACKUP_OPTIONS]
BuildInputMode=2
Because these text lines are encoded as UTF-16 little endian with carriage
return line feed terminators and byte order mark (BOM at the beginning) this
is expressed by first XML construct that looks like:
 <Bytes>FFFE4900420042000D000A000D000A005B00530054004100520054005F004200410043004B005500500
 <ASCII> . . I . B . B . . . . . . . . . [ . S . T . A . R . T . _ . B . A . C . K . U . P
 <Pos>0</Pos>
      
Line number 5 looks like:
BuildOutputMode=2
Again this encoded as UTF-16 little endian with carriage return line feed
terminators this is expressed by second XML construct like:
 <Bytes>000D000A004200750069006C0064004F00750074007000750074004D006F00640065003D00</Bytes>
 <ASCII> . . . . . B . u . i . l . d . O . u . t . p . u . t . M . o . d . e . =</ASCII>
 <Pos>95</Pos>

Line number 6 looks like:
Destination=
Again this encoded as UTF-16 little endian with carriage return line feed
terminators this is expressed by third XML construct like:
 <Bytes>000D000A00440065007300740069006E006100740069006F006E003D00</Bytes>
 <ASCII> . . . . . D . e . s . t . i . n . a . t . i . o . n . =</ASCII>
 <Pos>133</Pos>

These informations are also found inside the global strings section. Because
of UTF-16 encoding these are expressed by lines like:
   <String>B'U'I'L'D'I'N'P'U'T'M'O'D'E</String>
   <String>B'U'I'L'D'O'U'T'P'U'T'M'O'D'E</String>
   <String>D'E'S'T'I'N'A'T'I'O'N</String>
   <String>I'B'B</String>
   <String>S'T'A'R'T'_'B'A'C'K'U'P'_'O'P'T'I'O'N'S</String>
      
Line number 7 often looks like:
DataType=1
These line start at different offsets. So this information is only expressed
inside global strings section.  Because of UTF-16 encoding this is expressed
by line like:
   <String>D'A'T'A'T'Y'P'E</String>

Because at higher offsets variable value assignments occur and these names
are ASCII like encodes as UTF-16 I get many one byte nil sequences like:
      <Pattern>
         <Bytes>00</Bytes>
         <Pos>163</Pos>
      </Pattern>
      <Pattern>
         <Bytes>00</Bytes>
         <Pos>2043</Pos>
      </Pattern>
Because these are not use full for recognition and takes space so i delete
such patterns.

With the new trid definition now my IBB examples are described (see appended
output/trid-v-new.txt). TrID definitions, some samples and output are stored
in archive Project_Files.zip. I hope that my definition can be used in
future version of triddefs .

With best wishes
Jörg Jenderek

Mark0

  • Administrator
  • Hero Member
  • *****
  • Posts: 2743
    • Mark0's Home Page
Re: ibb.trid.xml for ImgBurn Project File *.IBB
« Reply #1 on: March 16, 2023, 03:36:55 PM »
Thanks!