diff options
Diffstat (limited to 'md/writeup/datamatch.md')
-rw-r--r-- | md/writeup/datamatch.md | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/md/writeup/datamatch.md b/md/writeup/datamatch.md new file mode 100644 index 0000000..d538296 --- /dev/null +++ b/md/writeup/datamatch.md @@ -0,0 +1,85 @@ +# DM - data match mini data language + +mini language to match some data in files it could be just binary file or +it could be some bookmarks and when data is found script output some info +about that + +## Examples + +### Print about position in file + +Here how looks scripts to bookmark some position +``` +0x01 "byte one" +0x02 "byte two" +``` +This could be used to bookmark stuff in files + +### Check bytes in position + +Here is example where output will tell if its 32/64bit file and with kind of +file type it is relocatable/executable/shared/core elf. + +``` +0x0-0x3 + "magic number" +0x4 + if (0x01) "32 bit elf" + if (0x02) "64 bit elf" +0x5 + if (0x01) "little endian" + if (0x02) "big endian" +0x10 + if (0x1) "relocatable ELF" + if (0x2) "executable ELF" + if (0x3) "shared ELF" + if (0x4) "Core ELF what that" + +``` + +## Compiling + +just make should work + +``` +make +``` + +if not then probably you dont have ragel just remove it from makefile and it +should work fine as ragel generated *.c file is allready included + +## Source + +``` +git clone http://git.main.lv/cgit.cgi/dm.git +``` + +or + +``` +git clone https://github.com/FreeArtMan/dm.git +``` + +main development site is http://main.lv and main git repo is http://git.main.lv + +## Tested + +| OS | Arch | +|---|---| +| Linux | 32/64bit intel | +| NetBSD | 32bit intel | + +## Future + +Future features will be added if there will practical demand for them if there +will be some moment when they will be really needed. + +Could be added +* support for if's in the row +* add binary masks +* generation of csv table +* genrate c struct to embed in programms +* genrate other languages (lua/python/sh) +* work with pipe could cat some /dev/random or so +* support streamed data +* support comments
\ No newline at end of file |