안드로이드는 2007년에 등장하여 현재까지 꾸준한 발전으로 전 세계 스마트폰 점유율 1위를 지키고 있다. 2011년에는 오픈 소스로 공개하였고 누구나 다운로드하여 사용할 수 있어 많은 연구가 이루어졌다. 하지만 시스템 구조, 어플리케이션 등 많은 부분이 분석되어 어플리케이션에 대한 역공학이 가능해졌고 이로 인해 불법 복제가 많이 이루어지고 있다. 역공학을 통해 소스 코드를 획득하고 서비스 수정하거나 악성코드를 삽입 후 재배포하여 피해를 입히고 있다. 안드로이드가 발전되어가면서 사용자 수가 증가하였지만 불법 복제로 인한 피해 사례 또한 증가하자 불법 복제를 줄이고 역공학을 어렵게 하기 위해 LVL, 난독화 등 다양한 도구들이 등장하고 전송 과정과 실행 과정에서 안드로이드 실행 파일을 암호화하는 연구들이 이루어 졌다. 하지만 현재 지원하는 도구들은 역공학을 방지하지 못하고 기존 연구들의 경우 여전히 단말 내부에 의한 유출 및 대칭키 재사용 등의 한계점을 가지고 있어 이에 대한 해결방안이 요구된다.
따라서 본 논문에서는 난수를 통해 대칭키를 생성하고 안드로이드 실행 파일을 암호화하여 역공학을 방지하는 시스템을 제안한다. 전송 과정 중에 난수를 전송하여 노출되어도 대칭키 생성 알고리즘을 모르기 때문에 안전하고 키 생성 및 서비스를 통해 네트워크에서 전송받은 대칭키를 재사용하지 않고 단말에서 자체적으로 생성하여 사용한다. 또한 단말 내 특정 경로에 대칭키를 보관하지 않고 메모리상에서만 보관하도록 하여 단말 내부 접근에 의한 유출이 어렵게 하였다. 제안한 연구가 구글 플레이를 비롯한 안드로이드 마켓에 적용된다면 어플리케이션 유출로 인한 불법 복제나 서비스 수정 등을 방지할 수 있다.