A Chaos-Based Robust Software Watermarking

  • Fenlin Liu
  • Bin Lu
  • Xiangyang Luo
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3903)


In this paper we propose a robust software watermarking based on chaos against several limitations of existing software watermarking. The algorithm combines the anti-reverse engineering technique, chaotic system and the idea of Easter Egg software watermarks. The global protection for the program is provided by dispersing watermark over the whole code of the program with chaotic dispersion coding; the resistance against reverse engineering is improved by using the anti-reverse engineering technique. In the paper, we implement the scheme in the Intel i386 architecture and the Windows operating system, and analyze the robustness and the performance degradation of watermarked program. Analysis indicates that the algorithm resists various types of semantics-preserving transformation attacks and is good tolerance for reverse engineering attacks.


Chaotic System Reverse Engineering Chaotic Sequence Software Piracy Executable Code 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Collberg, C., Thomborson, C.: Watermarking, tamper-proofing, and obfuscation - tools for software protection. IEEE Trans. Software Engineering 28(8), 735–746Google Scholar
  2. 2.
    Lihe, Z., YiXian, Y., Xinxin, N., Shaozhang, N.: A Survey on Software Watermarking. Journal of Software 14(2), 268–277 (in Chinese)Google Scholar
  3. 3.
    Business Software Alliance. Eighth annual BSA global software piracy study: Trends in software piracy 1994-2002 (June 2003)Google Scholar
  4. 4.
    Kan, X.: Encryption and Decryption. In: Software Protection Technique and Complete Resolvent. Electronic Engineering Publishing Company, Beijing (2001) (in Chinese)Google Scholar
  5. 5.
    Nagra, J., Thomborson, C.: Threading software watermarks. In: Fridrich, J. (ed.) IH 2004. LNCS, vol. 3200, pp. 208–223. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    Davidson, R.L., Myhrvold, N.: Davidson and Nathan Myhrvold. Method and system for generating and auditing a signature for a computer program. US Patent 5,559,884. Microsoft Corporation, Assignee (September 1996)Google Scholar
  7. 7.
    Stern, J.P., Hachez, G., Koeune, F., Quisquater, J.-J.: Robust object watermarking: Application to code. In: 3rd International Information Hiding Workshop, pp. 368–378 (1999)Google Scholar
  8. 8.
    Collberg, C., Thomborson, C.: Software watermarking: Models and dynamic embeddings. In: Proceedings of POPL 1999 of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 311–324 (1999)Google Scholar
  9. 9.
    Cousot, P., Cousot, R.: An abstract interpretation-based framework for software watermarking. In: ACM Principles of Programming Languages(POPL 2004), Venice, Italy, pp. 173–185 (2004)Google Scholar
  10. 10.
    Collberg, C., Huntwork, A., Carter, E., Townsend, G.: Graph theoretic software watermarks: Implementation, analysis, and attacks. In: 6th Workshop on Information Hiding, pp. 192–207 (2004)Google Scholar
  11. 11.
    Bin, L., Yongqiang, Z., Fenlin, L.: A New Scheme on Perturbing Digital Chaotic Systems. Computer Science 32(4), 71–74 (2005) (in Chinese)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Fenlin Liu
    • 1
  • Bin Lu
    • 1
  • Xiangyang Luo
    • 1
  1. 1.Information Engineering InstituteInformation Engineering UnivercityZhengzhouChina

Personalised recommendations