Skip to content

Instantly share code, notes, and snippets.

View dr4k0nia's full-sized avatar
🏴

drakonia dr4k0nia

🏴
View GitHub Profile
@dr4k0nia
dr4k0nia / Homoglyph_Obfuscation.md
Last active October 28, 2022 16:55
Abusing homoglyphs in .NET "Obfuscation" (Write up)

Abusing homoglyphs in .NET "Obfuscation"

A while ago I watched a very interesting DEF CON talk called "Repsych: Psychological Warfare in Reverse Engineering" by Chris Domas. In his talk Chris talked about how one could fool and or piss off reverse engineers with some little tricks. This got me thinking what can I do in .net to piss off and or fool reverse engineers. After reading about homoglyphs I had a fun little idea.

What are homoglyphs?

Homoglyphs are characters that look the same but are actually from different alphabets. For our obfuscation concept, we will abuse the fact that there are unicode characters that look just like normal latin letters.

How can we use homoglyphs?

So since the homoglyph characters look just like latin characters, we can use them to have to identical looking names that are actually different. For example we could replace the character M in the name <Module> with an M from a different alphabet.

Keybase proof

I hereby claim:

  • I am dr4k0nia on github.
  • I am drakonia (https://keybase.io/drakonia) on keybase.
  • I have a public key ASDJQW68e8R8Pr2vUw-Ro9isLWz5D8Dd8lPF6kRy2ArDsAo

To claim this, I am signing this object: