Manual PatternDiffer v1.1 |
||
![]() |
||
| Program type: | Application for analysis of data structures | |
| Operating system: | Windows (all) / Linux / Unix / MacOS / Solaris | |
| Requirements: |
|
|
| Author: |
|
|
Contents |
1 Description |
2 Steps ot the analysis |
3 Options |
4 Example of use
|
5 Details concerning the analysis algorithm |
6 Additionals notes |
1. DescriptionUsing this tool you have two possibilities to find in two different files equal data sequences also known as patterns. If PatternDiffer detects identic patterns they are displayed in a tabular or in a hexadecimal view. Additionally the data is show in a graphic. Moreover you have the possibility to save the results in XML file format in order to process the result later automatically by any other program. Since the data is analysed at a binary level its stucture is not relevance. Simplified you can consider PatternDiffer to analyse the biggest coherent parts in two files.
Additional information in chapter "Handling".
|
2. Steps ot the analysisAfter you selected the files to be analysed, the analysis starts by pressing the "start"-buttons. During the analysis process a fall back of the progress bar can happen. Don't worry about that because this depends on the used analysis algorithm in PatternDiffer The action of analysis can be canceled anytime but the result PatternDiffern found will still stay and can be exported to xml too. After the analysis is finished the found pattern blocks will be shown in a table. Below you can view the result in a visual view to be able to find important places quickly. If you need more detailed information concerning a special pattern found you can get it by simply presssing the "Extended Analysis"-button. If the retrieved results are designated for automatic processing with another program for example you can export the results through the export function in the menu. |
3. Options
In menu "Options" and in submenu
"Preferences" you can choose the analysis mode
There are two different modi called "Analysis inside a file"
and "Analysis in different files".
If you start the analysis inside a file so PatternDiffer will skip sequences at
the same file position. This is for detection of identic areas in a file. For example
you can find in the pattern " Look at chapter Example of applications/Reading a word signature You will find there detaild description of how a data analysis can take place. If you don't want binary '\0' to be detected as part of a pattern you can simple enable the option "Ignore binary 0". This is especially neccessary for files containing large amounts of binary '\0'-s. If you set the option to "shortest sequence" only the smallest sequences are found. The main advantage of this option is that is very fast. Attention: If you use the analysis on huge files (1MB or above) it can take much time. This is simply a side effect of the complexity of the search algorithm. The described preferences should be used to fasten the search engine. |
4. Example of use
|
4.1. Simple text analysisLet's assume that we do a simple text analysis which should show the internal similarities inside a text.
Just experiment with the analyse by changing the text file or just select other files.
|
4.2. Text analysis in two different filesNow we examine which text parts can be found in the first,second, third or fourth strophe in "Das Lied von der Glocke" by Friedrich Schiller
Hint: If you search inside big files the search progress can last long.
In the directory "examples/statistic" you can use the both files
"randomNumber01.txt" and "randomNumber02.txt"
to analyse and check the coherence between different minimal sequence length.
If you cancel the search all sequences until now are shown.
|
4.3. Search for Icon in exe fileWe just want to analyse how and where an icon image can be found in a compiled file. Unlike other tools PatternDiffer is able to find fragments of sequences. This is usefull because in much files header it is present but in the second file it's changed or deleted. Aim of this example is to find out whether the hex-code of the image is present in the exe file in its original sequence.
|
4.4. Finding largest sequence in circle πIn this lection we will show you how to find the largest sequence in π which exist more than one time in the decimal place with an accuracy of 100.000 digits. Also we want to get familiar with the export possibilities of PatternDiffer.
|
5. Details concerning the analysis algorithmThe algorithm searches in both data structure for equal sequences. The number of different Sequence possibilities is rather large. The runtime of the analysis is O(n) = n³. Therefore the first optimal solution will be shown. Other possible solutions are neglected. Restriction like "Ignore binary '\0'" or "smallest sequence length" fasten the search progress. So we advise to analyse little parts first. First both files are completly read into memory after that they are indexed. The aquirement of all possible sequence intervals takes place by complete recombination of all constructable possibilities. Now depending on the selected options the best fitting sequences are selected.
|
6. Additionals notesIf you find bugs or if you have ideas of how to improve PatternDiffer we would be glad to get a mail from you. Email. or for other help Support-Board Your metholution team |