Project History

By Lex Li

The popularity of managed programming languages and their ease of decompilation introduce a common issue, “How can I protect my binaries?” [1] . Obfuscation has been invented to add some protection. But most of obfuscator products are commercial and really expensive.

In this article:

Started by Ryan

Ryan Williams (@drcforbin) announced the first release of an open source obfuscator named obfuscar on May 3, 2007 [2] , while the initial checkin on Google Code occurred in late April [3] .

It started to gain popularity and soon the following releases were published,

  • 1.0.1 on May 10, 2007 [4]
  • 1.1.0 on May 18, 2007 [5]
  • 1.3.0 on Jul 12, 2007 [6]
  • 1.3.1 on Sep 12, 2007 [7]

Resumed by Werner

Werner (@webbie) first contributed an important patch to the project on June 19, 2007 [8] . He seemed to be taking care of the project since April 2009, and made the following releases,

  • 1.4.0 on Apr 24, 2009 [9]
  • 1.5.0 on Nov 06, 2009 [10]
  • 1.5.2 on Nov 20, 2009 [11]
  • 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 [12] [13] . @mikael.hansen.idevio also contributed one patch on May 26, 2009.

Various Forks After 2010

Carlo Kok from RemObjects has participated in the project since around Oct 8, 2009 [14] . RemObjects releases a commercial obfuscator called Oxfuscator in early 2010, which is based on Obfuscar [15] . However, RemObjects still keeps an open source version available [16] .

Calvin Rien (@darktable) created a fork on BitBucket on Oct 24, 2012 and included his changes [17] .

Emil Johansen (@AngryAnt) forked Calvin’s fork, and hosted it on GitHub [18] .

Inherited by Lex Li

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 [19] .

Gradually Lex gained 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 switched, and the latest release is 2.*.

Footnotes

[1]http://en.wikipedia.org/wiki/Obfuscation_(software)
[2]https://groups.google.com/forum/#!topic/obfuscar/2QL0ObML40o
[3]https://code.google.com/p/obfuscar/source/list?num=25&start=10
[4]https://groups.google.com/forum/#!topic/obfuscar/ctAN-hUaIB8
[5]https://groups.google.com/forum/#!topic/obfuscar/SrPG1BDZgrM
[6]https://groups.google.com/forum/#!topic/obfuscar/aH6I8v9Q_uI
[7]https://groups.google.com/forum/#!topic/obfuscar/554b9QOYsx4
[8]https://groups.google.com/forum/#!topic/obfuscar/__vjzvP9m1o
[9]https://groups.google.com/forum/#!topic/obfuscar/TLyU9ybfsKg
[10]https://groups.google.com/forum/#!topic/obfuscar/o61if_nFeog
[11]https://groups.google.com/forum/#!topic/obfuscar/vsVCfSMYk3U
[12]https://groups.google.com/forum/#!topic/obfuscar/PYs0KNps8mk
[13]https://groups.google.com/forum/#!topic/obfuscar/2LY3WoU72IQ
[14]https://groups.google.com/forum/#!topic/obfuscar/Fy0wFMVpA9Y
[15]http://blogs.remobjects.com/blogs/mh/2010/01/12/p303
[16]http://code.remobjects.com/p/obfuscar
[17]https://bitbucket.org/darktable/obfuscar/wiki/Home
[18]https://github.com/AngryAnt/obfuscar
[19]https://github.com/lextm/obfuscar