Homoglypher substitutes English ASCII characters with homoglyphs from other different languages to trick censorship bots or other bots in general, allowing information to be relayed undetected over unencrypted systems.
We were inspired by Andrey Yesyev's talk on domain generation algorithms malicious hackers use for phishing attacks.
The program takes in either an input file or a text paragraph, and substitutes every 3 characters with its homoglyph. The frequency of the substitution can be tweaked.
We built a homoglyph table. Each letter has different possible homoglyphs and we use a random function to decide which homoglyph to substitute with. Initially written in C, which is what everyone on the team was familiar with. And then later writing it in Javascript, and making a web page for it.
Trying to think of a way basic users can interact as easily as possible was probably our biggest challenge.
The program works very well. Ban bots and censor bots will have to become a lot smarter now. Sent messages of current issues on live streaming platforms and we have not been banned yet. We also know that there is a use for what we've made in the real world - it can be either used for good, or could be used maliciously (which we hope people don't).
We learnt how to interact and manipulate HTML DOM elements with JavaScript.
1) Build a browser extension for it that does real time substitution of characters.
2) Support different file types such as pdf, docx, etc.
C, JavaScript, Node