Inspiration
I have been learning a bit of ASM in my Computer Organization class and wanted to dive deeper into it. I've always been fascinated by encryption, ciphers, and secret messages, which motivated this project.
What It Does
File Encryptor is a command-line program that securely encrypts any file using XOR encryption with a custom key. It allows users to protect their sensitive data easily.
How I Did It
I spent considerable time going through documentation, using GDB for debugging, and watching YouTube tutorials to enhance my understanding of assembly language. My journey began with learning how to set up a basic "Hello World" program in NASM and evolved into building the encryption functionality.
Challenges I Ran Into
The biggest challenge was grasping the intricacies of assembly language and effectively using system calls to handle file operations. Debugging was also challenging, as I encountered numerous bugs throughout the process.
Accomplishments I'm Proud Of
I'm proud of successfully implementing the encryption and decryption functionalities! Despite numerous hurdles, I was able to resolve various bugs and achieve a working program. Using GDB to step one instruction at a time through the code made a massive difference.
What I've Learned
Through this project, I learned about the overall structure of ASM programs, including the cdecl calling convention. I also gained a stronger understanding of system calls and how to read command-line arguments in assembly.
What's Next for File Encryptor
This is probably it for File Encryptor but I plan to make even bigger and complex projects moving forward!
Acknowledgments
Special thanks to the organizers of RowdyHacks 2024 and the ASM community for their resources and support throughout this project!
Built With
- asm
Log in or sign up for Devpost to join the conversation.