mistdumper
A configurable pattern finder for static analysis written in Dart.
It is meant to retrieve offsets from file on disk without running them.
This project has been inspired by hazedumper which is a runtime signature finder.
Usage
mistdumper.exe [options] <executablePath>
options :
-c, --config=<path> (mandatory) Path of the config file
-f, --format=<format> (mandatory) The output format
--[no-]versioned Should the version be appended to file name
executablePath Path of the executable to parse
Formatters
Mistdumper can format to multiple output formats.
Currently implemented output formats are :
- Dart
- C++
- CSharp
JSON configuration
Full structure :
- name : mandatory
- pattern : mandatory
- namespace : mandatory
- dereference : optional (default value :
false
) - dereference_size : optional (default value :
4
) - relative : optional (default value :
false
) - offset : optional (default value :
0
) - extra : optional (default value :
0
)
Full example of JSON configuration:
Example outputs
Dart :
C++ :
CSharp :
Building from the source
You need Dart SDK 2.12.0
at least (https://dart.dev/get-dart).
In case you modified the JSON class you need to run dart run build_runner build
.
Run dart compile exe .\bin\mistdumper.dart -o .\build\mistdumper.exe
.