럭키패쳐

 

[image]
공식 웹사이트
1. 개요
2. 기능
2.1. 패치 메뉴
2.1.1. 수정된 Apk파일 생성
2.1.1.1. 다중 패치된 Apk
2.1.1.2. 커스텀 패치가 적용된 APK
2.1.1.3. 라이센스 인증이 없는 APK
2.1.1.4. 구글 광고가 없는 애플리케이션
2.1.1.5. 인앱, LVL 에뮬레이션 APK 리빌드
2.1.1.6. 권한과 액티비티가 변경된 APK
2.1.1.7. 테스트 서명으로 재서명
2.1.1.8. Remove Google Dependencies
2.2. 도구
2.2.1. 애플리케이션 복제(작동하지 않을 수 있음)[1]
2.2.2. 선택된 저장된 패치를 제거
2.2.3. 백업
2.2.4. 구글 플레이에서 열기
2.2.5. 공유하기


1. 개요


럭키패쳐(Lucky Patcher)란 안드로이드 애플리케이션의 편리한 불법 복제와 광고 제거, 라이센스인증 제거 등을 위해 만들어진 애플리케이션이다.
유료 애플리케이션의 라이선스 스푸핑과 구글 결제 프록시 서버/패치된 Google Play 앱/Xposed 모듈 등을 통한 인앱결제(In-App Purchase; IAP) 바이패스, 광고 삭제 등, 복잡한 앱 크랙을 원터치로 쉽게 사용할 수 있도록 만들어져 있다. 앱 개발자 입장에서는 먹고 살 길을 완벽하게 없애버리려는 악마의 도구라고 할 수 있다.
대부분의 사용자들이 부분유료화된 게임의 내부 구매 요소[2]를 실제 '''돈을 지불하지 않고 쓰기 위해''' 사용하고 있다. 물론 앱 클론이나[3], 무의미한 GSF[4] 의존성 요소를 제거해 gapps가 없는 디바이스에서 앱을 사용하기 위한 패치 등, 크랙이 아닌 사용 시나리오도 있기는 하다. 하지만 절대다수의 사용자들은 크랙을 위해 이 앱을 사용하고 있다.
저연령층 사용자들조차도 쉽게 크랙을 도입할 수 있는 간편한 인터페이스로 상당한 인기를 끌었다. 실제로 한글로 "럭키패쳐"라고 검색하면 이 앱의 주된 사용 연령대를 쉽게 짐작할 수 있을 것이다. 버그와는 아무 관련 없는 앱임에도 "럭키패쳐 게임버그"라는 식으로 앱을 설명한다던가.
물론 개발자들도 바보는 아니므로, Google에서 제공하는 기본 IAP API 외에 여러 가지 결제 검증 절차를 도입하고, 럭키패쳐 앱을 스캔하여 설치된 기기에서의 실행을 막고, 패키지 무결성 검사로 변조된 앱 실행을 막아버리는 등 여러 차단 방법을 시도하고 있다. 일례로 게임 회사의 서버와도 통신을 거치는 모바일 온라인 게임의 경우, 럭키패쳐가 변조한 결제 내역과 실제로 게임사에 입금된 결제 내역을 대조하여 결제 유효성을 검증한다. 아니면 테일즈샵같이 '''너 고소'''를 시전한다던가...
차단을 먹지 않는다고 하더라도 크랙은 도둑질이나 다름 없으므로 사용을 자제하는 것이 좋다. 현재는 구글측 에서 플레이 프로젝트를 통해 바이러스 앱으로 차단한다.[5]

2. 기능


럭키패쳐는 설명했듯이 모든 앱에 패치가 되지는 않는다.
패치가 가능한 온라인 게임은 극소수며, 오프라인 게임은 패치가 가능한 경우가 왠만하면 많다.

2.1. 패치 메뉴



2.1.1. 수정된 Apk파일 생성



2.1.1.1. 다중 패치된 Apk

후술할 패치 메뉴 기능 여러가지를 한번에 패치하고 싶을때 쓰는 기능이다. 그 외의 기능은 없다.

2.1.1.2. 커스텀 패치가 적용된 APK

말 그대로 커스텀 패치를 적용하는 기능. 좀 유명한 앱들에는 유럽이나 러시아, 중국 쪽에서 만든 커스텀 패치가 많다. 기본 패치들이 먹히지 않을 때 시도해볼만 하다.

2.1.1.3. 라이센스 인증이 없는 APK

라이센스 인증을 우회하거나 제거한다. DraStic의 라이센스 잠금에 이게 통한다.

2.1.1.4. 구글 광고가 없는 애플리케이션

이 패치를 적용하면 구글 광고가 나오지 않는다. 그 외의 특별한 점은 없다.

2.1.1.5. '''인앱, LVL 에뮬레이션 APK 리빌드'''

핵심 기능. 인앱 결제 절차를 우회하여 '''모든 결제를 공짜로 할 수 있다.'''
인앱 결제의 원리는 클라이언트에서 요청을 보내면 Play 스토어 인증 서버로 요청을 전달하고 입금이 확인되면 인증 서버에서 승인을 내리는 방식인데, 이 패치가 적용된 앱은 요청을 Play 스토어가 아닌 자기네 서버로 보내서 곧바로 승인을 내린다.[6] 한 마디로 하자면 짜고 치는 중간자 공격.
앱이 변조되었음을 감지할 수 있는 앱은 해당 패치가 먹히지 않는다. 결크라고 생각하면 편할 것이다.

2.1.1.6. 권한과 액티비티가 변경된 APK

소스 코드의 AndroidManifest.xml을 수정하여 앱이 요구하는 권한을 변경한다.

2.1.1.7. 테스트 서명으로 재서명

안드로이드 앱은 PlayStore에 올릴 때 서명이라는 것을 필요로한다.[7] 또한 안드로이드는 동일한 서명을 가진 앱을 동시에 설치할 수 없다. 테스트 서명으로 재서명 하게되면 기존의 서명과 달라지게 되어 앱 동시설치가 가능해진다.[8]

2.1.1.8. Remove Google Dependencies

구글과 관련된 의존성 모듈을 제거한다. 구글 Ads를 포함하여 주로 Firebase에 대한 의존성 모듈이 앱애서 많이 쓰인다.

2.2. 도구



2.2.1. 애플리케이션 복제(작동하지 않을 수 있음)[9]


패치한 그 앱을 복제한다. 복제한 앱은 작동하지 않을 수 있다.

2.2.2. 선택된 저장된 패치를 제거


앱의 패치를 제거해 순정으로 되돌린다. 패치를 잘못 했거나 먹히지 않을 때 사용한다.

2.2.3. 백업


패치된 앱을 APK 파일로 백업한다.

2.2.4. 구글 플레이에서 열기


구글 플레이에서 해당 앱의 정보를 본다.

2.2.5. 공유하기


패치된 앱을 공유한다(...).

[1] 정말 이 앱 내 설명이 이렇게 써 있다[2] 아이템, 스테이지 패스, 유료 캐릭터, 게임머니, 또다른 게임 내 재화 구매 지불 수단 등[3] 이른바 "멀티 앱" 등. 혹은 사칭 또는 표절 앱들도 포함시킬수 있겠다.[4] Google Service Framework[5] 물론 무시하고 설치를 할수 있기는 하지만...[6] 이 과정은 Play 스토어에서 보낸 것처럼 변조한 패킷을 통해 이루어진다.[7] 현재 이러한 서명은 유저가 다운로드하는 앱에만 있고 개발자는 업로드 키라는 것으로 업로드한다.[8] 테스트 서명에는 서명되지 않은 앱을 의미하는 것도 있지만 '재서명' 이라 언급하였기에 이 뜻은 아닐 확률이 높다.[9] 정말 이 앱 내 설명이 이렇게 써 있다