diff --git a/README_Contribution.md b/README_Contribution.md new file mode 100644 index 00000000..12a62e72 --- /dev/null +++ b/README_Contribution.md @@ -0,0 +1,53 @@ +# Cutter Contribution: Team 21 ECE49595OSS + +Cutter is a free and open-source reverse engineering platform powered by rizin. This document details contributions made by Team 21 for ECE49595OSS + +## Base Cutter Documentation + +This section provides the documentation for Cutter itself. + +### [Cutter README](https://github.com/rizinorg/cutter/blob/dev/README.md) + +### [User Guide](https://cutter.re/docs/user-docs.html) + +### [Contribution Guidelines](https://cutter.re/docs/contributing.html) + +### [Developers Docs](https://cutter.re/docs/contributing/code.html) + +## Contributions + +This section details the issues we solved to contribute to Cutter. + +### Issue 1 + +#### [Allow adding new flags from hexdump](https://github.com/rizinorg/cutter/issues/2932) + +For this issue, we were tasked with adding a feature in the hexdump view that allows flags to be added into the hexdump view. + +This is done by right clicking or pressing the keyboard shortcut N on the line you wish to add a flag to, entering a valid flag name, then confirming that action. + +The flags added into the hexdump view are synchronized with the disassembly view. + +##### Screenshots + +Right Click shortcut for adding a new flag +![Screenshot](https://private-user-images.githubusercontent.com/90643076/305260361-e2ea623b-57c9-4929-bcce-ec374c560625.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTI5NjUzMzUsIm5iZiI6MTcxMjk2NTAzNSwicGF0aCI6Ii85MDY0MzA3Ni8zMDUyNjAzNjEtZTJlYTYyM2ItNTdjOS00OTI5LWJjY2UtZWMzNzRjNTYwNjI1LmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA0MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNDEyVDIzMzcxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ0OTI0YjA5MjcwZWJjNDVhZDFhNTRhOWE3ZmUyZGMzOTAxYmIxMzQzNWU5Nzk1NTk3MGJhNDUyMTI2MTAxODgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.keHDwZfUCFWq5qScsKmmkNcjF3hLa5jXB-thXNZKp6M) + +Menu for adding a flag +![Screenshot](https://private-user-images.githubusercontent.com/90643076/305260362-ca3aeeb1-c7da-48aa-a6e9-46ca9933fa9f.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTI5NjUzMzUsIm5iZiI6MTcxMjk2NTAzNSwicGF0aCI6Ii85MDY0MzA3Ni8zMDUyNjAzNjItY2EzYWVlYjEtYzdkYS00OGFhLWE2ZTktNDZjYTk5MzNmYTlmLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA0MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNDEyVDIzMzcxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI1ZDcxNGY3YTYwYzE1MGZjZThhNThiZmVmMjExZTFkNWRmNDk5MjcxMmU5MDhhOGQzYjAzZTNlM2FkMGE1N2YmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.TMLuyPEXNxE2TpUtcRR6zSjQCPMmu5lf1eCqE_Izrvk) + +Synchronization in the disassembly view +![Screenshot](https://private-user-images.githubusercontent.com/90643076/305260366-5d3afbda-89ce-44a4-932a-b189ebc573fd.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTI5NjUzMzUsIm5iZiI6MTcxMjk2NTAzNSwicGF0aCI6Ii85MDY0MzA3Ni8zMDUyNjAzNjYtNWQzYWZiZGEtODljZS00NGE0LTkzMmEtYjE4OWViYzU3M2ZkLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA0MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNDEyVDIzMzcxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU2NmUzMDEyZTM4NzJiN2Y5NGZjNTZlNmU3YjM2MzEwYzcyZTliOGMyNTQ5ZTc3NThkM2EwNjczYjQ4MmI5NWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.IH045Omdh8cE63-v0zuEX03j2-X1cIJPN48wnYzU86o) + +Showing the new flag in the hexdump view +![Screenshot](https://private-user-images.githubusercontent.com/90643076/305260370-d7e29740-3c89-44ce-bc77-908f0efd5fc2.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTI5NjUzMzUsIm5iZiI6MTcxMjk2NTAzNSwicGF0aCI6Ii85MDY0MzA3Ni8zMDUyNjAzNzAtZDdlMjk3NDAtM2M4OS00NGNlLWJjNzctOTA4ZjBlZmQ1ZmMyLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA0MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNDEyVDIzMzcxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk3ZmFmMjkxZWYyNTI0ZTQyYTgxNzlmNmVmYmU5NDcxOTYxNTI3Y2U2OTg0MTI1NjUwZDdmYjZkMWQzMWNlMTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.wVJgHz2GwfsdCnsmnZkxmnVYgfhYJ5lvjIzqnrSaBsk) + +Showing the ability to edit the new flag +![Screenshot](https://private-user-images.githubusercontent.com/90643076/305260371-22fa6817-35e4-487b-b6fb-9dcaaffc5890.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTI5NjUxMDUsIm5iZiI6MTcxMjk2NDgwNSwicGF0aCI6Ii85MDY0MzA3Ni8zMDUyNjAzNzEtMjJmYTY4MTctMzVlNC00ODdiLWI2ZmItOWRjYWFmZmM1ODkwLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA0MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNDEyVDIzMzMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg3NTZhYWIzYzgyNTRlZDE1MWQ2YmM0YjZmNWMwYzBjZTA5NDVlYTFiYzZlM2I4NDNmNzk3NThiNmFhMGYyZjkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.jGLBUGoA2mLehKcnD-Z8UOYCDDw3BgQ0SP7xWr8mNBE) + +Showing the edit menu for an existing flag in the hexdump view +![Screenshot](https://private-user-images.githubusercontent.com/90643076/305260371-22fa6817-35e4-487b-b6fb-9dcaaffc5890.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTI5NjUzMzUsIm5iZiI6MTcxMjk2NTAzNSwicGF0aCI6Ii85MDY0MzA3Ni8zMDUyNjAzNzEtMjJmYTY4MTctMzVlNC00ODdiLWI2ZmItOWRjYWFmZmM1ODkwLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA0MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNDEyVDIzMzcxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThhMTIxMTUwOTMyOThiOTZlMmZmN2MzMmU0NGM2Mzc2YTM2NDEzYTVkZmYwZDdjMmQ3ODk2OTBiNWZmZTc4YzYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.TENgRqIKJerKAuwBRVmM80cRu0YLM1Q-nNGfHYbXR6k) + +### Issue 2 + +#### [Multiline Operations / Multiline Selection](https://github.com/rizinorg/cutter/issues/2601) \ No newline at end of file