An open-source tool to find the frequency of different assembly instructions of an executable file to be executed.
#"Part of Diversion 2k23 Open-source Event"
- Linux Environment
- Python
- gdb
- flask framework (Only needed if you want to use it in a GUI web app.)
You can use this application in 2 ways. One of the ways is through the command line and the other way is through a web application that will be hosted on your local machine or using the website https://instructions.pythonanywhere.com/
- Clone the repository.
git clone [email protected]:AyushR1/Dynamic-Instructions-Calculation.git
- (1st Way) Running the script in terminal
./dic.sh <compiled_file>
./dic.sh <compiled_file> <input_file>
(If your application requires input, make a file which will contain the input
and pass the filename as argument)
- The analysis of the executable will be printed in the terminal.
- Please be patient as it takes a about 50-60 seconds, it also depends on how fast the processing of your PC is.
- Deploy the web application.
python app.py
- Visit the URL which will be printed in the terminal, or you can also visit http://localhost:5000 or http://127.0.0.1:5000
- Select the binary file which you want to analyze and click the submit button.
- In a few minutes the analysis will be ready.
Create a text input field/input file upload on the web app for users to enter inputs of their program. The existing script ahs support for text input. Just implemnt a frontend for the same Test the script with the new text input feature to ensure it works as expected
Expose an API for the same, provide clear instructions for how to use it