@InProceedings{	  monden00practical,
  author =	 {Akito Monden and Hajimu Iida and Ken-ichi Matsumoto},
  title =	 {A Practical Method for Watermarking Java Programs},
  booktitle =	 {The 24th Computer Software and Applications
                  Conference},
  pages =        {191--197}, 
  year =	 2000,
  url =
                  {http://toripc12.aist-nara.ac.jp/~akito-m/home/research/paper/compsac2000.pdf},
  cache =	 {monden00.pdf},
  abstract =	 {Java programs distributed through Internet are now
                  suffering from program theft. It is because Java
                  programs can be easily decomposed into reusable
                  class files and even decompiled into source code by
                  program users. In this paper we propose a practical
                  method that discourages program theft by embedding
                  Java programs with a digital watermark. Embedding a
                  program developer s copyright notation as a
                  watermark in Java class files will ensure the legal
                  ownership of class files. Our embedding method is
                  indiscernible by program users, yet enables us to
                  identify an illegal program that contains stolen
                  class files. The result of the experiment to
                  evaluate our method showed most of the watermarks
                  (20 out of 23) embedded in class files survived two
                  kinds of attacks that attempt to erase watermarks:
                  an obfuscactor attack, and a decompile-recompile
                  attack. },
  annote =	 {Describes a method of watermarking java classes that
                  embeds a static mark in an injected method encoded
                  in the ordering of opcodes and choice of
                  argument. Although the authors discuss two attacks,
                  decompile/recompile and obfuscation, they do not
                  address the relatively straightforward global
                  instruction aliasing attacks.},
  keywords =	 {java, static watermark},
  section = {SOFTWARE-WATERMARKING}
}


