By Lex Li
The popularity of managed programming languages and their ease of
decompilation introduce a common issue, “How can I protect my binaries?” .
Obfuscation has been invented to add some protection. But most of obfuscator
products are commercial and really expensive.
Ryan Williams (@drcforbin) announced the first release of an open source
obfuscator named obfuscar on May 3, 2007 , while the initial checkin on
Google Code occurred in late April .
It started to gain popularity and soon the following releases were published,
- 1.0.1 on May 10, 2007
- 1.1.0 on May 18, 2007
- 1.3.0 on Jul 12, 2007
- 1.3.1 on Sep 12, 2007
Werner (@webbie) first contributed an important patch to the project on June
19, 2007 . He seemed to be taking care of the project since April 2009,
and made the following releases,
- 1.4.0 on Apr 24, 2009
- 1.5.0 on Nov 06, 2009
- 1.5.2 on Nov 20, 2009
- 1.5.4 on ??
He was trying to upgrade the project to work with latest Cecil at that moment
under 2.0 branch, but that work was not finished.
Przemysław Rajpold(@rejpon) contributed two patches on July 29, 2010
. @mikael.hansen.idevio also contributed one patch on May 26, 2009.
Carlo Kok from RemObjects has participated in the project since around Oct 8,
2009 . RemObjects releases a commercial obfuscator called Oxfuscator in
early 2010, which is based on Obfuscar . However, RemObjects still keeps
an open source version available .
Calvin Rien (@darktable) created a fork on BitBucket on Oct 24, 2012 and
included his changes .
Emil Johansen (@AngryAnt) forked Calvin’s fork, and hosted it on GitHub .
Lex Li was working on his commercial project
#SNMP Pro in Apr 2013, and came across Emil’s
fork. He soon created a new fork and started to merge various patches he could
find from the Internet to this fork .
Gradually Lex gained enough knowledge about Cecil and Obfuscar and started to
heavily change the obfuscation process so as to better serve his own needs.
Carlo from RemObjects also contributes to this new fork, since Jan 2014. The
collaboration aims to keep the two forks in sync in all possible ways, though
due to the varied needs and design goals of two parties the forks still
present significant differences.
The project homepage is now launched, and the
latest release is 2.*.