-
-
The calculator initializes the connection and pretends to be a USB keyboard.
-
Rishi is utterly flabbergasted by this turn of events and is left reeling by the sudden loss and exposing of his dearest files.
-
The server recieves the files from Rishi's computer and saves them to the proper directory hierarchy.
-
Inspiration
When Aneesh was 5 years old, his grandma was a victim to a catastrophic cyber crime, which led to devastating financial loss. He since vowed to defeat all who use technology maliciously. Eugene came across a project that would turn a calculator into a keyboard, and thought of the possibilities to automate typing. Rishi once got attacked by a virus and was betrayed to the sinister administrators by a birdie. He was excited at our proposition to create the ultimate cyber detective.
What it does
This program launches from a calculator plugged into a computer, which pretends to be an HP keyboard to download an executable. The executable runs a TCP client that streams files to a TCP server running on my computer. It has the option to delete all of the original files so that the calculator detective can confiscate all of the potentially dangerous files.
How we built it
We used winsocket to build the client and server, and used CEdev's C/C++/ASM Ti-84 ce+ toolkit to build the calculator launcher.
Challenges we ran into
We ran into a large lack of time issue. The TCP server was difficult to deal with because windows was adding carriage returns like the $%^&* that it is.
Accomplishments that we're proud of
We were proud of the fact that we were able to launch our project reliably from a school calculator model. This would enable our project to be shared everywhere, onto every single math classroom calculator in the school.
What we learned
We learned that HID protocols can be leveraged to great potential. We also learned about TCP sockets and socket stream protocols.
What's next for Crooked Calculator Detective
We were in the midst of developing an SDL2 minigame to accompany our TCP client, and to occupy the user as their files were processed/confiscated. However, due to time constraints, we were unable to complete this.
Log in or sign up for Devpost to join the conversation.