Description as a Tweet:

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.

What it does:

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.

How we built it:

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.

Technologies we used:

  • Javascript
  • Node.js
  • C/C++/C#

Challenges we ran into:

Trying to think of a way basic users can interact as easily as possible was probably our biggest challenge.

Accomplishments we're proud of:

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).

What we've learned:

We learnt how to interact and manipulate HTML DOM elements with JavaScript.

What's next:

1) Build a browser extension for it that does real time substitution of characters.
2) Support different file types such as pdf, docx, etc.

Built with:

C, JavaScript, Node

Prizes we're going for:

  • Best Security Hack

Team Members

Jefferson Esteves
Aung Khant Ko
Tim Huang
Joseph Jenie

Table Number

Table 21

View on Github