image
_ functrace _ is a tool that helps to analyze a binary file with dynamic instrumentation using _ DynamoRIO _ ( http://dynamorio.org/ ). These are some implemented features (based on DynamoRIO): disassemble all the executed code disassemble a specific function (dump if these are addresses) get arguments of a specific function (dump if these are addresses) get return value of a specific function (dump if this is an address) monitors application signals generate a report file _ ghidra _ ( https://ghidra-sre.org/ ) coverage script (based on the functrace report file) Setup $ wget https://github.com/DynamoRIO/dynamorio/releases/download/release_7_0_0_rc1/DynamoRIO-Linux-7.0.0-RC1.tar.gz $ tar xvzf DynamoRIO-Linux-7.0.0-RC1.tar.gz OR $ wget https://github.com/DynamoRIO/dynamorio/releases/download/cronbuild-7.91.18047/DynamoRIO-x86_64-Linux-7.91.18047-0.tar.gz $ tar xvzf DynamoRIO-x86_64-Linux-7.91.18047-0.tar.gz You can also clone and compile directly DynamoRIO $ git clone https://github.com/invictus1306/functrace $ mkdir -p functrace/build $ cd functrace/build $ cmake .. -DDynamoRIO_DIR=/full_DR_path/cmake/ $ make -j4 Using functrace $ drrun -c libfunctrace.so -report_file report — target_program [args] Options The following _ [functrace] _ ( https://github.com/invictus1306/functrace ) options are supported: -disassembly -> disassemble all the functions -disas_func function_name -> disassemble only the…