ISA2R - Improving Software Analysis and Attack Resilience


This tool consists of a set of diversification and obfuscation transformations implemented as LLVM optimization passes. The set of transformations includes: 

  1. Instruction reordering
  2. Insertion of loops with randomized iteration count
  3. Opaque predicate insertion
  4. Insertion of bogus code
  5. Stack frame size diversification
  6. Stack variable order randomization
  7. Addition of bogus method arguments
  8. Shuffling of method arguments
  9. Method cloning
  10. Method merging
  11. Randomization of symbolic method names
  12. Proceduralization of static data

Release Policy

To avoid situations in which ISA2R is misused (e.g. to obfuscate malicious software), we are disclosing its source code only to members of academia and industry who will send an e-mail from an official e-mail address stating the purpose for which s/he will use ISA2R, to the member of our chair who is responsible for this software.