From 9255ccbd6f0ab82d431f68dc71df047ba8123fc0 Mon Sep 17 00:00:00 2001 From: 0x800835 Date: Fri, 4 Sep 2020 17:36:05 +0200 Subject: [PATCH] Add logo and update README --- README.md | 30 ++++++++++++++++++++++++++++++ logo.png | Bin 0 -> 14098 bytes 2 files changed, 30 insertions(+) create mode 100644 logo.png diff --git a/README.md b/README.md index 31b9ef4..5638a45 100644 --- a/README.md +++ b/README.md @@ -1 +1,31 @@ # Diffosaurus +This tool aims at improving ESIL in Radare2 by providing a convenient way to compare the execution of ESIL against a real target such as embedded device, debugged binary or emulated device (QEMU). + +It allows to run a full binary/firmware or can be instructed to use provided assembly code. + +It uses the gdb protocol to connect to a remote target. + +# Arguments +``` + -m , --mode Mode Selection [f]ile/[t]est + -f , --file File to analyse + -t , --test Assembly to test (wa ) + -qb, --qbin Qemu binary (e.g. qemu-arm) + -qp, --qport Qemu port (default = 1234) + -dh, --dhost Debugger hostname/ip (default = localhost) + -dp, --dport Debugger port (default = 1234) + -D , --dback Debugger backend (e.g. gdb-multiarch) + -da, --dbadd File base address (e bin.baddr) + -a , --arch Architecture (e asm.arch) + -b , --bits Architecture bits (e asm.bits) + +``` +# Examples +File mode (QEMU) : +`python diffosaurus.py -m f -f binary -qp 1234 -qb qemu-arm -da 0x1000 -D gdb-multiarch -a arm -b 16` + +File mode : +`python diffosaurus.py -m f -f binary -D gdb-multiarch -a arm -b 16` + +Test mode : +`python diffosaurus.py -m t -t "MOV r1,#1;asrs r1, r1, #1;asrs r1, r1, #1" -D gdb-multiarch -a arm -b 16 -dp 3333` diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..776130727f6223e40b930462ce73d3aeab0ff948 GIT binary patch literal 14098 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 literal 0 HcmV?d00001