10분안에 안드로이드 리패키징 따라하기
리패키징이 얼마나 쉬운지 10분만에 안드로이드 리패키징을 직접 해보겠습니다.
앵그리버드 앱에 SMS를 탈취하는 코드를 삽입 후 리패키징하는 작업을 할 건데요,
프로그래밍적인 지식은 딱하나만 들어갑니다. SMS를 후킹하여 탈취하는 코드 하나 짜야합니다. 이건 미리 짜놓은 것으로 사용하여 10분안에 마칠 겁니다. 관련 코드는 인터넷만 검색해도 아주 쉽게 만들 수 있거든요.
앵그리버드앱 설치부터 리패키징까지의 전 과정인 10분짜리 동영상을 참고해주시고 아래 내용은 요약입니다.
리패키징 시나리오
- 앵그리버드 앱에 SMS를 탈취하는 코드 삽입하는 리패키징
1. 구글플레이에서 앵그리버드 설치
2. 앵그리버드 설치파일 추출
3. APKTOOL을 사용하여 리버싱(smali 코드추출)
4. 삽입할 코드(SMS탈취목적)를 작성 후 빌드(SMS Hooker)
5. SMS Hooker 설치파일을 APKTOOL로 리버싱하여 SMS를
탈취하는 smali코드 준비
6. 앵그리버드 코드에 준비한 SMS 후킹 코드 추가
7. 앵그리버드 리패키징(재빌드)하여 설치
8. SMS 탈취 기능 테스트
환경구축
- 테스트 폰 2대 : 한 대는 리패키징 앱을 설치, 한 대는 SMS를 탈취하여 수신할 테스트 폰(해커입장의 폰)
- 안드로드 개발환경(스튜디오) : SMS 리시버에 SMS 수신시 테스트폰으로 수신SMS를 전송하는 앱 빌드
- APKTOOL : 공개용 안드로이드 리버싱 툴
리패키징 따라하기
제가 직접 만들어 본 동영상입니다. 글로도 설명을 자세히 하고 싶지만, 다음 기회에...^^;
결론
동영상과 같이 특별히 전문적인 기술이 없더라도 안드로이드 리패키징은 매우 간단합니다. 물론 목적에 따라 복잡해질 수도 있지만요.
안드로이드 악성코드의 대부분이 이 리패키징을 전제로 하는 경우가 많습니다. 리패키징은 남이 만든 앱을 자신이 만든것처럼 하여 저작권을 침해하기도하고, 악성코드 삽입을 목적으로 하기도 합니다.
이러한 리패키징앱이 많이 유통되는 원인 중 하나는 구글의 앱스토어 개방 정책입니다. 애플과 달리 안드로이드의 앱스토어는 전세계에 엄청나게 많습니다. 우리나라만 해도 통신사별로, 포탈별로, 폰 제조사별로 앱스토어가 존재하기 때문에 리패키징 앱을 다른 스토어에 올려 마치 원래 앱인 것처럼 위장하기 참 좋은 환경이죠.