1. Jonathan Salwan solved some of our challenges!
  2. Sebastian Millius solved challenge 0000!
  3. New question-mark opaque predicates in AddOpaque.
  4. New program array encoding now supported in Virtualize! There are also new opaque expressions that are input dependent to confuse taint analysis.
  5. New dynamic transformation that implements our generalization of previously proposed dynamic obfuscation schemes.
  6. The slides from my Eurocrypt 2016 invited talk are here. The talk itself is here.
  7. Please consider attending The 7th International Summer School on Information Security and Protection (ISSISP'16) which will be held on Aug 2-6 in Amrita School of Engineering, Amritapuri, Kollam, Kerala, India, and 6-8 in Bangalore.
  8. April 14, 2015: Sebastian Millius solved challenge 0000!

  9. April 14, 2015: Added --MergeRandomizeBlocks and --FlattenRandomizeBlocks options. In the past, blocks were always randomized, now they are not, by default. Added the --MergeConditionalKinds, --FlattenConditionalKinds, and --VirtualizeConditionalKinds options. They all allow the use of computation of the condition code flags to obfuscate conditional branches.

  10. April 1, 2015: Tigress 2.0 released. Many bug fixes, plus we added a new major transformation, runtime code generation (Jitting), two anti-analysis transformations (Anti alias analysis and Anti dynamic taint analysis), and 6 challenge problems.

  11. July 29, 2014: Tigress 1.3 released. Two supporting transformations added: Data Encoding, and Arithmetic Encoding.

  12. June 2, 2014: Tigress 1.2 released.

  13. May 6, 2014: Tigress 1.1 released which includes the new RandomFuns transformation.