An anti-piracy mechanism based on class separation and dynamic loading for Android applications

Younsik Jeong, Yeong-Ung Park, Jae-Chan Moon, Seong-je Cho, Dong-Jin Kim, Minkyu Park · 2012

With expanding use of smartphones, smartphone app piracy has grown more widespread. However, existing licensing services have limits on protecting copyright of apps because they can be cracked. We present a new approach to block execution of pirated apps and protect apps against piracy. The proposed approach uses Java class separation and dynamic loading. When an app is being developed, it is divided into two parts, an Incomplete Main Application (IMA) and Separate Essential Class (SEC). Then, they are uploaded to market server. If a user buys and installs an app, only its IMA is downloaded to the user's smartphone. When the user first execute the app's IMA, the market server authenticates the user, encrypts the app's SEC, and sends the encrypted SEC to the user's smartphone. The downloaded SEC is decrypted and stored in secure space on the smartphone. The SEC, then, is loaded dynamically into the app's address space and the app is successfully executed. Only designated processes are allowed to access the SEC stored in the secure space. Other accesses are considered illegal and are prohibited. Although the app's IMA can be pirated, without the SEC the app cannot be successfully executed. We verify effectiveness of the approach using experiments and show the approach incurs an acceptable overhead.

Read the paper · More papers on PaperTik