iOS iPadOS

Hướng dẫn nhân bản iPA

Bài viết sau đây sẽ hướng dẫn bạn cách của cùng 1 ứng dụng (hay còn gọi là clone .iPA) trên cả Windows và macOS. Nếu bạn chỉ muốn nhân bản ứng dụng chứ không cần file .iPA thì không cần làm theo bài viết này mà hãy dùng tính năng “Change app bundle ID” của Sideloadly.

Lưu ý

  • Cách này áp dụng với đa số ứng dụng. Không phải tất cả ứng dụng đều có thể nhân bản được. Có ứng dụng sẽ bị crash khi mở, có ứng dụng bị đóng khi chạy ngầm, có ứng dụng sẽ bị chung dữ liệu với app gốc mà điển hình là Facebook/Messenger.
  • Nếu muốn nhân bản Facebook, Messenger thì bạn bắt buộc phải nhân bản từ iPA của Facebook Wolf Messenger Shark. Hoặc đơn giản hơn bạn có thể tải iPA đã nhân bản sẵn từ https://ios.codevn.net/

Chuẩn bị

  • File iPA đã được crack của ứng dụng cần nhân bản (KHÔNG dùng iPA tải trực tiếp từ iTunes hay iMazing vì đó không phải là iPA đã crack).
  • 1 máy tính chạy macOS hoặc Windows. Có thể tiến hành tương tự trên điện thoại nếu máy đã jailbreak. Các bước tiến hành về cơ bản đều giống nhau.
  • 1 phần mềm để chỉnh sửa file .plist. Trên macOS có thể sử dụng PlistEdit Pro, trên Windows có thể sử dụng plist Editor. Trên điện thoại đã Jailbreak có thể dùng Filza.
  • Bật tính năng hiện đuôi file Windows / macOS

Tiến hành

Về cơ bản thì các bước tiến hành trên macOS hay Windows đều giống nhau. Dưới đây mình sẽ hướng dẫn trên macOS. Không phải lo nếu bạn dùng Windows vì thật ra clone trên Windows còn đơn giản hơn nhiều.

Bước 1: Giải nén iPA

  • File iPA thực chất cũng là 1 file nén nên bạn có thể giải nén iPA bằng bất kì phần mềm giải nén nào (Winrar, 7z,…). Hãy đổi đuôi của file từ .ipa sang .zip rồi giải nén là được.
  • Trong ví dụ này, mình sử dụng file iPA của Spotify. Sau khi giải nén iPA, bạn sẽ thu được 1 folder có tên là Payload chứa 1 folder con là Spotify.app như hình dưới:
  • Với macOS: click chuột phải vào Spotify.app và chọn Show Package Contents.
    Với Windows thì chỉ việc mở Spotify.app ra như folder bình thường.
  • Trong folder Spotify.app có rất nhiều file, bạn cần quan tâm đến 3 thành phần, đó là file info.plist, folder PlugIns và folder Watch. Nếu thấy folder Watch thì bạn phải xóa ngay nó đi, nếu không sẽ không sideload được iPA.

Bước 2: Chỉnh sửa lại info để

Mở file info.plist bằng phần mềm như ở trên, có rất nhiều mục nhưng bạn chỉ cần chỉnh sửa 2 mục là:

  • CFBundleIdentifier (tên hệ thống của ứng dụng): chỉ cần iOS thấy 2 ứng dụng có tên hệ thống khác nhau là sẽ cho phép cài đặt. Vì vậy bạn chỉ cần sửa CFBundleIdentifier mặc định khác đi là được. Ví dụ sửa từ “com.spotify.client” thành “com.clonespotify.client
  • CFBundleDisplayName: đây là tên app trên màn hình chính. Sửa lại để có thể phân biệt giữa app gốc và app nhân bản. Ví dụ sửa từ “Spotify” thành “Spotify Clone”
    (fun fact: bạn có thể không sửa tên trên màn hình chính cũng chẳng sao, sẽ có 2 app giống tên nhau thôi)
Giao diện phần mềm trên Windows sẽ hơi khác, bạn chỉnh sửa tương tự

Bước 3: Sửa lại info trong folder PlugIns

Để đơn giản nhất, hãy xóa luôn cả folder PlugIns này. Lý do tại sao có thể xóa nó bạn có thể đọc thêm ở dưới.

More info

Trong folder PlugIns chứa các plugin của ứng dụng. Mỗi PlugIns có 1 file info.plist riêng. Vì trước đó bạn đã chỉnh sửa CFBundleIdentifier của app, nên bây giờ bạn sẽ phải chỉnh sửa CFBundleIdentifier của các PlugIns cho giống của app. Đây là việc làm rất tốn thời gian và chả có tác dụng gì. Lý do là tài khoản free developer account (7 ngày) sẽ không hỗ trợ các API của thông báo hay widget, tốt nhất là xóa luôn cho xong.
=> Nếu bạn không muốn xóa thì bắt buộc phải chỉnh sửa CFBundleIdentifier trong file info.plist của tất cả các plugin. Ví dụ “com.spotify.client.widgetnowplaying” sẽ phải sửa thành “com.clonespotify.client.widgetnowplaying”

Bước 4: Tạo lại iPA

  • Sau khi đã sửa lại file info.plist của app, xóa folder Watch (nếu có), xóa folder PlugIns, thì giờ chỉ cần tạo lại iPA.
  • Quay trở lại folder Payload ban đầu:
    macOS: chọn Compress “Payload”, thu được Payload.zip, sửa lại Payload.zip thành tênapp.ipa là xong.
    Windows: tương tự. Hãy nén file Payload lại rồi sửa lại tên thành tênapp.ipa

Chúc bạn thành công!