Watermarking Java Programs using Dummy Methods with Dynamically Opaque Predicates
Zaenal Akbar

TL;DR
This paper introduces a Java program watermarking technique using dummy methods and dynamically opaque predicates to embed ownership information while maintaining resilience against decompilation and obfuscation.
Contribution
It presents a novel method combining dummy methods with dynamically opaque predicates for watermarking Java code, improving stealth and robustness.
Findings
Watermark increases source code size by approximately 3.854 bytes.
Application loading time increases by about 6108 milliseconds.
Watermarking technique withstands decompilation and obfuscation attacks.
Abstract
Software piracy, the illegal using, copying, and resale of applications is a major concern for anyone develops software. Software developers also worry about their applications being reverse engineered by extracting data structures and algorithms from an application and incorporated into competitor's code. A defense against software piracy is watermarking, a process that embeds a secret message in a cover software. Watermarking is a method that does not aim to stop piracy copying, but to prove ownership of the software and possibly even the data structures and algorithms used in the software. The language Java was designed to be compiled into a platform independent bytecode format. Much of the information contained in the source code remains in the bytecode, which means that decompilation is easier than with traditional native codes. In this thesis, we present a technique for…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Steganography and Watermarking Techniques · Advanced Malware Detection Techniques · Internet Traffic Analysis and Secure E-voting
