Development of wrapper application to prevent reverse engineering of android applications

Android operating system is an open-source project developed by Google. It is based on the Linux kernel. According an article published in 2016, Google’s Android dominated the mobile operating system scene with an 87.5% market share. With more than 2 billion users and 3.5 million applications in the...

Full description

Saved in:
Bibliographic Details
Main Author: Gong, Jing
Other Authors: Liu Yang
Format: Final Year Project
Language:English
Published: 2018
Subjects:
Online Access:http://hdl.handle.net/10356/74052
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:Android operating system is an open-source project developed by Google. It is based on the Linux kernel. According an article published in 2016, Google’s Android dominated the mobile operating system scene with an 87.5% market share. With more than 2 billion users and 3.5 million applications in the Google Play store, application development has become a lucrative gold mine with billions being made yearly. Android’s popularity has attracted its fair share of adversaries, such as reverse engineers and malware developers. Therefore, it is essential for a mechanism to be in place to safeguard the intellectual property of the Android developers. Several companies try to address this issue, with 2 major companies in China, Bangcle and Ijiami leading the pack. However, these wrapper applications proved to be effective in hiding the application codes only to a certain extend as several research papers have already proposed ways to bypass these wrapper applications. This report aims to analyse how both the packers and unpackers work and develop a new methodology of packing Android applications. The new methodology should change the structure the original Dex file while maintaining the original control flow of the application. Additional protection features anti-debugging and anti-tampering. Lastly, the new methodology is tested against current unpacking techniques to measure its effectiveness. Results show that application packed using the new methodology is undebuggable. Its source code is hidden and encrypted. Integrity of the source code is maintained by the anti-tampering feature. However, as the original source code gets more complicated, the application may not work as intended.