FileAnalyzer

The FileAnalyzer

The FileAnalyzer makes it possible to view, analyze, search and export the internal structure of binary files, as well as the values and properties contained therein, with the help of a tree structure, a hex view and detail views. Additionally, it is possible to compare those chunks, values and properties with one ore more other files.

Support for many File Types and Container Formats

The program supports numerous file types and file formats, such as various container formats, audio files, video files, images, documents, archives, font files or executable files.

Supported container formats include the ISO Base Media File Format (ISOBMFF), the Resource Interchange File Format (RIFF), Matroska files, the Tagged Image File Format (TIFF), Portable Executables (PE), RealMedia files (RM ), the Advanced Systems Format (ASF) as well as OGG and ZIP.

To the other individual file types supported by the FileAnalyzer belong diverse audio files such as MP3, WAV, WMA, MKA, M4A, M4B, OPUS, OGG, SPX, SPEEX, RA and BWF, video files like AVI, MP4, MKV, WEBM, DIVX, 3GP, 3G2, MOV, OGV, RM and WMV, image files as PNG, JPEG, GIF, TIFF, BMP, ICO, CUR, ANI, ICNS, JFIF, JIF, JNG, MNG, DIP, WEBP, HEIF, HEIC, AVIF, CDR, DNG, CR2, CR3, SRF, SR2, ARW and NEF, documents and spreadsheets such as PDF, DOCX, XLSX, PPTX, ODT, ODS, ODP and EPUB, plain text files, archive formats such as ZIP archives, font files as TTF and OTF, as well as executable files like EXE, DLL, SYS, EFI, MUI, OCX and SCR.

If the structure of a specific file type should not yet be supported by the FileAnalyzer, the files in question can of course nevertheless be displayed in the application using the hex view. In this way, the FileAnalyzer can be used also as a hex viewer for any type of file. Format-unspecific functions such as the byte search are naturally also working for such files.

File Structure, Chunk Details and Hex View

To view a file in the FileAnalyzer, you can simply drag the file in question onto the program or alternatively open it via the menu (CTRL+O). You will then see a three-part view of the selected file in the main window of the FileAnalyzer.

On the left you will see the structure of the file. This contains, displayed within a tree view, the possibly nested or grouped chunks and logical blocks of the file, including their size in bytes.

If you click on one of the nodes within this tree structure, on the right next to it, a table will appear with the data, values and properties, which are stored in this selected file chunk. In this table you will find not only the respective keys and values but also information about their byte offset within the file, their byte offset within the chunk, their data size as well as their data type. For some values, there are also descriptions displayed, which show what meaning the set value has within this context.

Below the table, you can find the hex view as a third view. When you select a chunk within the file structure or a value from the detail view, the corresponding bytes and file parts are highlighted in the hex view. This way you can see at a glance how and where the individual values and chunks are stored at byte level in the file.

Search for Values, Numbers, Strings and Bytes

Of course, the FileAnalyzer also contains numerous search and jump functions that can make working with the files easier.

In addition to searching for simple byte sequences, you can, for example, also search your files directly for numbers or text of a specific format. When searching for numbers, alongside the actual number, you can also specify the byte size, the endianness (little endian or big endian) as well as the signedness (signed versus unsigned). When searching for strings, additionally to the text, correspondingly, the encoding (such as ASCII, UTF-8 or UTF-16 LE/BE) as well as the usage of a byte order mark (BOM). The FileAnalyzer then takes care of everything else and creates the corresponding byte sequence necessary for a search for the specified number or text in combination with the other specifications, without you having to explicitly worry about it. Incidentally, the involved byte converters for numbers and strings can also be used independently of the search function via the menu "Tools".

Furthermore, you can also search through the individual chunks within a file structure and the data they contain. For example, you can search for specific keys and/or values across multiple files or limited to specific chunk paths, using search criteria such as "contains", "greater/less than", "starts/ends with", "reverse" or regular expressions.

Complementary to calling the search function via the menu or the key combination CTRL+F, searches can also be started directly from within the file structure, the detail table or the hex view using the right mouse button. Simply select a path within the tree structure, some data in the table or one or more bytes in the hex view and receive suitable search options accessible directly via the context menu.

Comparison of multiple Files

Apart from searching for individual data, values, numbers, strings and bytes, the FileAnalyzer can also be used to directly compare multiple files.

To do this, first add all the files that you want to compare with each other to the file list in the FileAnalyzer. To compare and contrast, for example, the values and properties of a particular chunk type across all of these files, simply select the relevant chunk in the file structure view of one of the files and then right-click on the node you would like to compare. You can then use the context menu to start the comparison, which will then be displayed in the form of a table in a separate window.

Script Control of the FileAnalyzer

Some functions of the FileAnalyzer can also be controlled by means of parameters via the command line. This means that the FileAnalyzer can, for example, also be integrated into scripts or accessed and controlled via other programs. For example, to read out data from files or to automate file comparisons.

In the tutorial about script controlling the FileAnalyzer you can find out more about this topic, including a list of all available parameters as well as numerous examples for application calls.

Editing of Files

In the current version of the FileAnalyzer you can up to now only view, analyze, search and compare files. In contrast to that, editing the files is not yet possible. However, we are currently working on a version that will also allow files to be changed. With this future version it will be possible, for example, to adjust values within the file structure, to delete chunks from files, to add or replace bytes as well as to perform similar adaptions within the binary structure of single file or multiple files simultaneously.

Download

Download the FileAnalyzer for free in the download area for Windows and learn in the first steps how you can benefit from this application. Additionally, we are collecting frequently asked question about the FileAnalyzer on the FAQ page for you. The FileAnalyzer is portable, you can use the program directly without an installation.

Screenshots

You want to first see what the FileAnalyzer looks like? On the screenshot page we have compiled some screenshots of the FileAnalyzer for you.