Functrace is a tool that helps to analyze a binary file with dynamic instrumentation using DynamoRIO. These are some implemented features (based on DynamoRIO):
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
Also Read – SharpHide : Tool To Create Hidden Registry Keys
Simple DEMO
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 function function_name
-wrap_function function_name-> wrap the function function_name
-wrap_function_args num_args-> number of arguments of the wrapped function
-cbr-> remove the bb from the cache (in case of conditional jump)
-report_file file_name-> report file name (required)
-verbose-> verbose]
Simple Usage
Option -verbose
$ drrun -c libfunctrace.so -report_file report -verbose — target_program [args]
Option -Disassemby
$ drrun -c libfunctrace.so -report_file report -disassembly — target_program [args]
Option -Disas_Func
$ drrun -c libfunctrace.so -report_file report -disas_func name_function — target_program [args]
$ drrun -c libfunctrace.so -report_file report -wrap_function name_function -wrap_function_args num_args — target_program [args]
Option -CBR
$ drrun -c libfunctrace.so -report_file report -cbr — target_program [args]
CVE-2018-4013 – Vulnerability Analysis
A vulnerability on the LIVE555 RTSP server library. This is the description.
The groupdel command in Linux removes a group from the system. It deletes the group's entry from /etc/group and /etc/gshadow,…
The wc command in Linux counts lines, words, characters, and bytes in files or standard input. It…
The top command in Linux provides a real-time view of running processes and system resource usage. From…
The usermod command in Linux modifies existing user account attributes. You can use it to manage group…
The sort command in Linux reads lines from files or standard input and writes them to standard…
The wall command in Linux sends a message to the terminals of all currently logged-in users. The…