XDB hacking


The XDB file format is the successor to the .H! format, which as far as I can tell came about with the release of the Hypertext Viewer version 2.02. While not fully understanding the file format I've been able to find out enough to be able to extract information from vsumx.dbx in a ghetto fashion.

001D51h   A table of strings, all with the first character in lower case seperated by 00h. All instances of these strings within the file are replaced by references in the form of two bytes. The first byte is either 02 meaning to display the string as is, 03 meaning to display the string as is with a trailing space, 04 to display the string with the first character upper case, 05 same as 04 with a trailing space. The next byte points to the string to display. 01h is the first string, 02h the second and so on.

Also all instances of 0D 0A are replaced by 00h, and 01 xx yy displays xx instances of yy. FFh means to display the next character as is (used if you need to actually display any of the characters used as codes). The text in the records after the virus descriptions is terminated by 01 xx DC.

005480h The start of the alphabetic virus list (includes string table references). Each of the virus names follows a space (20h) and is trailed by 01h. There are a variable amount of bytes inbetween each name. The last virus name is trailed by 01 0C 20 02.

016EB5h The first of the "PZPAPN" record seperators. 32 bytes after that (016EEDh) "PT" appears and then the text for that record (includes string table references, as well as 00 and 01xx for spaces). This is the first virus in VSUM "2KB". The text goes right till the next "PZPAPN" seperator. The last record is simply "PZ".

All of this applies to VSUMX809.ZIP

Main Page