[[파일:럭키패쳐 아이콘.png|width=10%]] [[https://www.luckypatchers.com/|공식 웹사이트]] [목차] == 개요 == 안드로이드 앱의 [[불법 복제]], 인앱결제 우회, 광고 제거, [[라이센스]] 인증 제거 용도로 만들어진 앱. [[루팅]] 여부와 상관없이 사용 가능하긴 하나 루팅하지 않았을 경우 수정된 APK 생성만 사용할 수 있다. 유료 애플리케이션의 라이선스 스푸핑과 구글 결제 프록시 서버/패치된 Google Play 앱/Xposed 모듈 등을 통한 인앱결제(In-App Purchase; IAP) 바이패스, 광고 삭제 등 복잡한 앱 크랙을 쉽게 사용할 수 있도록 한다. 앱 개발자 입장에서는 먹고 살 길을 완벽하게 없애버리는 악마의 도구라고 할 수 있다. 사용자 대부분은 [[부분유료화]] 게임의 구매 요소(유료 아이템)를 현금 소비 없이 사용하기 위해 럭키패쳐를 사용할 것이다. 물론 앱 클론[* 멀티 앱, 사칭, 혹은 표절 앱 포함], 무의미한 GSF(Google Service Framework) 의존성 요소를 제거하여 gapps가 없는 디바이스에서 앱을 사용하기 위한 패치 등, 크랙이 아닌 사용 시나리오도 소수나마 있다. [[초딩|저연령층]] [[잼민이|사용자]]들도 쉽게 크랙을 도입할 수 있는 간편한 인터페이스로 상당한 인기를 끌었고, 실제로 한글로 '럭키패쳐'라고 검색하면 이 앱의 주된 사용 연령대를 쉽게 짐작할 수 있을 것이다. [[버그]]와 아무 관련 없는 앱임에도 '럭키패쳐 게임버그'라는 식으로 앱을 설명하는 것을 목격할 수 있다. 물론 개발자들도 바보는 아니라서 구글에서 제공하는 기본 IAP API 외에도 여러 가지 결제 검증 절차를 도입하여, 럭키패쳐 앱을 스캔해서 설치된 기기에서의 실행이 되지 않도록 하거나 패키지 무결성 검사로 변조된 앱 실행을 막아버리는 등 여러가지 방법을 시도한다. 일례로 게임 회사의 서버와 통신을 거치는 온라인 게임은 럭키패쳐가 변조한 결제 내역과 실제 입금된 결제 내역을 대조하여 결제 유효성을 검증하거나 [[테일즈샵]]처럼 고소장을 날리는 수도 있다. 차단되지 않더라도 크랙은 도둑질이나 다름 없으므로 자제하는 게 좋다. 현재는 구글에서 Play Protect를 통해 바이러스 앱으로 감지하고 차단한다. 무시하고 설치를 강행할 수 있지만.[* 실제로 럭키패쳐 앱 내부에서도 Play Protect를 비활성화하라고 권고하고 있다.] 최근 출시한 게임에선 럭키패쳐의 파일이 기기에 있으면 아예 대놓고 럭키패쳐를 언급하며, 강제 종료되는 시스템이 있는 경우가 있는 듯하다. 이 때는 럭키패쳐 자체를 삭제하면 정상적으로 이용할 수 있지만, 아마 최후의 방법인 듯. 오랜기간 럭키패쳐를 사용하면서 관리를 안 하면 앱 하나가 60GB를 넘어가는 기현상을 목격할 수 있다고 한다. == 기능 == 럭키패쳐는 설명했듯이 모든 앱에 패치가 적용되지 않는다. 패치가 적용되는 온라인 게임은 극소수이며, 오프라인 게임은 웬만하면 다 된다고 보면 된다. 애플리케이션 정보, 실행은 말 그대로 앱 정보 확인과 실행 버튼이므로 누를 일이 없다. === 패치 메뉴 === ==== 수정된 APK 파일 생성 ==== * 다중 패치된 APK: 여러가지 패치를 한꺼번에 APK에 적용한다. * 라이센스 인증이 없는 APK: 라이센스 인증을 우회하거나 제거한다. [[DraStic]]의 라이센스 잠금에 이게 통한다. * 구글 광고가 없는 애플리케이션: APK에 이 패치를 적용하면 구글 광고가 나오지 않는다. * '''인앱, LVL 에뮬레이션 APK 리빌드''': 핵심 기능. 인앱 결제 절차를 우회하여 모든 결제를 공짜로 진행할 수 있다. 인앱 결제 원리는, 클라이언트에서 요청을 보내면 플레이스토어 인증 서버로 그 요청을 전달하고 입금이 확인되면 인증 서버에서 승인하는 방식인데 이 패치를 적용하면 요청을 플레이스토어가 아니라 자기네 서버로 보내서 곧바로 승인한다. 이 과정은 플레이스토어에서 보낸 것처럼 변조한 패킷을 통해 이루어진다. 쉽게 말해서 짜고 치는 [[중간자 공격]]. 변조를 감지할 수 있는 앱은 이 패치가 먹히지 않는다. 결제 크랙이라고 생각하면 편할 것이다. * 권한과 액티비티가 변경된 APK: 소스 코드의 AndroidManifest.xml을 수정하여 앱이 요구하는 권한을 변경한다. * 테스트 서명으로 재서명: 안드로이드 앱은 플레이스토어에 올리려면 '서명'이 필요하다.[* 서명은 유저가 다운로드한 애플리케이션에만 있고 개발자는 '업로드 키'를 사용하여 업로드한다.] 안드로이드는 동일한 서명을 가진 애플리케이션을 여려 개 설치해놓을 수 없다. 이때, '테스트 서명으로 재서명'하면 기존 서명과 달라지면서 앱 동시 설치가 가능해진다.[* '테스트 서명'은 서명되지 않은 앱을 의미하기도 하지만 '재서명'이라고 언급하였기에 이러한 뜻은 아닐 가능성이 높다.] 쉽게 말해 앱을 복제해서 스마트폰 한 대에 여러 개를 설치할 수 있다는 것. * 커스텀 패치가 적용된 APK: 말 그대로 커스텀 패치를 적용한다. 좀 유명한 앱에는 유럽이나 러시아, 중국 쪽에서 만든 커스텀 패치가 많다. 기본 패치들이 먹히지 않을 때 시도해볼 만하다. * Remove Google Dependencies: 구글 관련 의존성 모듈을 제거한다. 구글 Ads를 포함하여 주로 Firebase에 대한 의존성 모듈이 앱에서 많이 쓰인다. === 도구 === * 애플리케이션 복제(작동하지 않을 수 있음)[* 실제로 이렇게 쓰여있다.]: 패치를 적용한 앱을 그대로 복제하며, 복제된 앱은 작동하지 않을 수 있다. 이 기능은 기존 앱을 삭제할 필요없이 정식판과 수정판이 따로 저장된다. * 선택된 저장된 패치를 제거: 앱 패치를 제거하여 순정으로 되돌린다. 패치를 잘못했거나 먹히지 않을 때 사용한다. * 백업: 패치된 앱을 APK 파일로 백업한다. * 구글 플레이에서 열기: 구글 플레이에서 해당 앱의 정보를 본다. * 공유하기: 패치된 앱을 공유한다.-- 친구와 함께 즐기는 해킹판-- [[분류:애플리케이션]]