Design and Implementation of Method Generation based Watermarking Technique for Android Copyright Protection

안드로이드 저작권 보호를 위한 메소드 생성 기반 워터마킹 기법의 설계 및 구현

Park, Heewan

  • Received : 2018.10.29
  • Accepted : 2019.01.20
  • Published : 2019.01.28


As smartphones become widespread, numerous applications are developed and social issues related to software copyright are emerging. Software watermarking is digital watermarking technology applied to software and is a technology that can be used to recognize copyright owners. Generally, Java language is used to develop applications on the Android environment. The Java is an object-oriented language that supports method overloading and overriding. In this paper, we propose and implement a method generation based watermarking technique. As a result of evaluating the overhead due to the watermark, it was confirmed that the increase of the executable file size and the decrease of the execution speed are not large. Using the watermarking technique proposed in this paper, it is expected that copyright information can be verified when illegal copying is suspected or actual program is stolen, and piracy attempts will be prevented in advance.


Software piracy;Copyright protection;Software watermark;Method overloading;Method overriding


  1. Asia economy. (2017). Share of adults who own smartphones by country in 2018.
  2. Money week. (2016). Smartphone holding rate in Korea.
  3. Joins economy. (2017). Piracy of smartphone application.
  4. Keyeslabs. (2018). A Global Piracy Heat Map.
  5. Kinews. (2015). Kim Gisa and T-map copyright dispute.
  6. CNB news. (2015). The watermark of T-map.
  7. Financial news. (2016). Cymera and Analog Filter copyright dispute.
  8. Huffington post. (2016). SK Communications 'Cyamera' and 'Analog Filter' copyright dispute.
  9. D. Kim, H. Jang & S. Cho. (2009). Low-level Language based Static Watermarking for Intellectual Property Protection of Mobile Software, Proc. of KIISE, 36(1-D), 55-60.
  10. C. Jun, J. Jung, B. Kim, J. Jang, Y. Cho & J. Hong. (2011). A new approach to software watermarking based on calling convention, Proc. of KIISE, 38(2-C), 156-159.
  11. S. A. Moskowitz & M. Cooperman. (1998). Method for stega-cipher protection of computer code, United States Patent 5745569A.
  12. C. Collberg, E. Carter, S. Debray, A. Huntwork, J. Kececioglu, C. Linn & M. Stepp. (2004). Dynamic Path-Based Software Watermaking, Proc. of ACM SIGPLAN Conf. on PLDI. 107-118.
  13. Y. Wang, D. Gong, B. Lu, F. Xiang & F. Liu.. (2018). Exception Handling-Based Dynamic Software Watermarking. Proc. of IEEE Access 6, 8882-8889.
  14. Korea copyright commission. (2010). Codejam service.
  15. H. Park. (2018). Java Class Watermarking Technique based on Object-Oriented Characteristics, Proc. of 12th KIISE and KBS Symp, 132-135.
  16. K. Arnold, J. Gosling & D. Holmes. (2005). The Java Programming Language, Fourth Edition. Addison Wesley Professional.
  17. C. Collberg, C. Thomborson & Douglas Low. (1998). Manufacturing Cheap, Resilient, and Stealthy Opaque Constructs. Proc. of 25th ACM IGPLAN-SIGACT Symp. on POPL, 184-196.
  18. J. Ming, D. Xu, L. Wang & D. Wu. (2015). LOOP: Logic-Oriented Opaque Predicate Detection in Obfuscated Binary Code. Proc. of 22nd ACM SIGSAC Conf. on CCS, 757-768.
  19. G. Myles & C. Collberg. (2006). Software watermarking via opaque predicates: Implementation, analysis, and attacks. Electron Commerce Research, 6(2-2), 155-171.
  20. Android Open Source Sample Project. (2014). Jet Boy,


Supported by : 한라대학교