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

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

  • Park, Heewan (Department of Information Communication and Software, Halla University)
  • 박희완 (한라대학교 정보통신소프트웨어학과)
  • 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.

OHHGBW_2019_v10n1_61_f0001.png 이미지

Fig. 1. Kim-gisa and T-map copyright dispute[5]

OHHGBW_2019_v10n1_61_f0002.png 이미지

Fig. 2. Cymera and Analog Filter copyright dispute[7]

OHHGBW_2019_v10n1_61_f0003.png 이미지

Fig. 4. Example of the method overloading

OHHGBW_2019_v10n1_61_f0004.png 이미지

Fig. 5. Example before method overloading

OHHGBW_2019_v10n1_61_f0005.png 이미지

Fig. 6. Example after method overloading

OHHGBW_2019_v10n1_61_f0006.png 이미지

Fig. 7. Example of the method overriding

OHHGBW_2019_v10n1_61_f0007.png 이미지

Fig. 8. Example before method overriding

OHHGBW_2019_v10n1_61_f0008.png 이미지

Fig. 9. Example after method overriding

OHHGBW_2019_v10n1_61_f0009.png 이미지

Fig. 10. Method overloading example before adding opaque predicate

OHHGBW_2019_v10n1_61_f0010.png 이미지

Fig. 11. Method overloading example after adding opaque predicates

OHHGBW_2019_v10n1_61_f0011.png 이미지

Fig. 12. Method overriding example before adding opaque predicate

OHHGBW_2019_v10n1_61_f0012.png 이미지

Fig. 13. Method overriding example after adding opaque predicates

OHHGBW_2019_v10n1_61_f0013.png 이미지

Fig. 14. Structure of watermarking system

OHHGBW_2019_v10n1_61_f0014.png 이미지

Fig. 15. Changes of source and apk file size according to method overloading numbers

OHHGBW_2019_v10n1_61_f0015.png 이미지

Fig. 16. Changes of source and apk file size according to method overriding numbers

OHHGBW_2019_v10n1_61_f0016.png 이미지

Fig. 17. Runtime overheads according to opaque predicate numbers

OHHGBW_2019_v10n1_61_f0017.png 이미지

Fig. 3. (a) Original source and (b) Modified source with copyright information

Table 1. Example of opaque predicates

OHHGBW_2019_v10n1_61_t0001.png 이미지

Table 2. Changes of source and apk file size according to method overloading numbers

OHHGBW_2019_v10n1_61_t0002.png 이미지

Table 3. Changes of source and apk file size according to method overriding numbers

OHHGBW_2019_v10n1_61_t0003.png 이미지

Table 4. Runtime overheads according to opaque predicate numbers

OHHGBW_2019_v10n1_61_t0004.png 이미지


Supported by : 한라대학교


  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,