Mark0's Forum
		Software => TrID File Identifier => Topic started by: jenderek 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
 
- 
				Thanks!