Article thumbnail

Obfuscation by Interpretation

By Daniel Reynaud and Jean-Yves Marion

Abstract

International audienceHigh-level languages such as Java, .NET and Javascript are usually considered less complex to reverse engineer than low-level languages such as assembly, using a subjective notion of complexity. Indeed, obfuscation of low-level code using entry-point obuscuring, code and data mixing and code encryption can lead to difficult to disassemble binaries. This presentation will show that all these low-level obfuscations are possible in high-level languages and therefore analysing high-level programs is no easier. Javascript obfuscations will be provided as examples using a pseudo-assembly language and a processor emulator, but the result holds for every acceptable language

Topics: [INFO.INFO-CR]Computer Science [cs]/Cryptography and Security [cs.CR]
Publisher: HAL CCSD
Year: 2008
OAI identifier: oai:HAL:inria-00337523v1
Download PDF:
Sorry, we are unable to provide the full text but you may find it at the following location(s):
  • https://hal.inria.fr/inria-003... (external link)
  • https://hal.inria.fr/inria-003... (external link)
  • https://hal.inria.fr/inria-003... (external link)

  • To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.

    Suggested articles