Die Logik des ID-Strings

In den ID-String können entweder direkt ASCII-Zeichen eingegeben werden, um ein File zu identifizieren oder aber auch Zahlen, um hexadezimale Werte für nicht darstellbare Zeichen anzugeben. Zuerst wird jedoch eine Startposition, zählend ab 0, angegeben, ab wo im File gesichtet werden soll. Diese Zahl sollte den Wert 39 nicht überschreiten, da zum FileCheck nur die ersten 40 Byte eines Files eingelesen werden.

Nach dem Startwert folgt ein Komma, um den Startwert vom Suchstring abzutrennen. Folgt nun Text in Anführungszeichen (''), so prüft der Scanner ob dieser Text, beginnend an der Startposition im File ist. Dabei können einzelne Zeichen ignoriert werden. Wird an einer Stelle im String ein Fragezeichen (?) eingetragen, so ignoriert TheAnswerIII den Wert an dieser Stelle und prüft nur, ob alle anderen Werte übereinstimmen. Der String

0,"ZOO 2.xx Archive"
prüft, ob am Anfang des Files (Pos. 0) Ein String steht, der zum obigen Muster paßt. Dabei kann für die beiden Fragezeichen irgendewas stehen. Auf diese Weise wird hier ein Archiv des Packers ZOO erkannt, egal ob es ZOO 2.00 oder 2.12 ist, nicht aber ZOO 1.00.

Alternativ zu Anführungszeichen und Suchtext, kann auch nach bestimmten hexadezimalen Werten gesucht werden. In diesem Fall folgt nach dem Komma der Startposition kein Anführungszeichen, sondern durch Leerzeichen getrennte Hexadezimale Zahlen von ''00'' bis max. ''FF''. Der String

0,60 EA
prüft, ob im File auf der Pos. 0 der Wer Hex 60, also 96 und auf der Pos. 1 der Wert Hex EA, also 234 steht. In diesem Fall würde TheAnswerIII ein ARJ-Archiv erkennen.

Eine Mischung beider Verfahren ist nicht möglich. Soll in der Hex-Suche mit Fragezeichen gearbeitet werden, so muß einfach der ASCII-Hex-Code für dieses Buchstaben (3F) eingetragen werden.