iOS

Hướng dẫn inject tweak (dylib) vào iPA để tạo tweaked app với công cụ Azule

Cập nhật lần cuối 17/08/2021.

Nếu là người ham tìm hiểu về iOS, bạn chắc hẳn đã nghe qua một số công cụ để inject tweak vào iPA tạo tweaked app, ví dụ -jailed, insert_dylib, optool,… Tuy nhiên những công cụ này đòi hỏi người dùng phải có ít nhiều kiến thức về code. Các tool khác như IPAPatcher, IPatch tuy không yêu cầu kiến thức về code nhưng lại chỉ có thể inject những tweak đơn giản (tweak không có bundle).

Azule là một công cụ để inject tweak/dylib vào app tương tự IPAPatcher hay IPatch nhưng có rất nhiều ưu điểm và có cách sử dụng cũng rất đơn giản. Hy vọng qua bài viết này thì bạn cũng có thể tự tạo một tweaked app mà không cần phụ thuộc vào ai cả.

Chuẩn bị

  • Thiết bị chạy hệ điều hành , Linux (kể cả WSL) hoặc iOS (jailbroken).
  • Xcode nếu dùng
  • iPA của app cần tweak đã crack. Tự crack hay tải trên mạng đều được. Miễn là IPA crack chuẩn không bị App Thinning ở. Hướng dẫn tự crack IPA chuẩn ở đây.
  • File deb / dylib của tweak bạn muốn inject vào iPA. Nếu repo của tweak đó có trên Parcility.co thì bạn không cần tải tweak về mà Azule sẽ tự tải cho bạn. Nếu không thì hãy dùng công cụ cydownload để tải tweak.

Lưu ý

  • Không phải tweak nào và app nào cũng có thể inject được.
  • Azule cũng chỉ là 1 công cụ tự động, nó có thể không hoạt động trong một số trường hợp. Lúc đó bạn nên dùng -jailed.
  • Bài viết hướng dẫn cài và sử dụng Azule trên macOS và Linux, bạn có thể tham khảo hướng dẫn gốc ở đây (Github/Azule). Đối với iOS thì chỉ cần tải auzle.deb từ Release.

Cài đặt Azule với macOS

  1. Cài đặt Xcode

2. Clone azule về máy

git clone https://github.com/Al4ise/Azule ~/Azule

3. Setup môi trường cho azule

Cho zsh (Catalina trở lên):

echo "source $HOME/Azule/azule-functions" >> ~/.zprofile

Cho bash (Mojave trở xuống)

echo "source $HOME/Azule/azule-functions" >> ~/.profile

4. Cài đặt azule

setup-azule

5. Cập nhật azule

update-azule -f

Cài đặt Azule với Linux (WSL)

1. Clone azule về máy

git clone https://github.com/Al4ise/Azule ~/Azule

2. Setup môi trường cho azule

Cho zsh:

echo "source $HOME/Azule/azule-functions" >> ~/.zprofile

Cho bash:

echo "source $HOME/Azule/azule-functions" >> ~/.profile

3. Cài đặt các gói điều kiện cho azule

sudo apt install jq git curl rsync xz-utils unzip zip libc++abi-dev

4. Cài đặt azule

setup-azule

5. Cập nhật azule

update-azule -f

Sử dụng (macOS và Linux/WSL đều giống nhau)

Sử dụng Azule rất đơn giản. Ở đây mình thử ví dụ tạo iPA YouTube mode (Youtube + Cercube + YTUHD).

Đầu tiên, bạn nhập lệnh azule trong bất kì cửa sổ Terminal nào để gọi Azule.
Azule sẽ yêu cầu bạn nhập các thông tin tương ứng, trong đó 2 mục bắt buộc phải nhập là:
Output directory: Nơi sẽ lưu IPA sau khi đã patch tweak.
Path to IPA: đường dẫn tới IPA (IPA đã crack).

Sau đó, azule sẽ đưa ra các option cho bạn lựa chọn. Ở đây, mình muốn inject tweaks nên sẽ điền 1 vào Choose Arguments (1 tương ứng với Inject Tweaks như bạn thấy trong Hình 2).

Files or Tweak IDs: bạn chỉ việc kéo / thả tweak cần inject vào cửa sổ Terminal. Nếu bạn lười tải tweak về thì azule có thể giúp bạn tải tweak về, miễn là tweak đó có trên Parcility.co. Trong trường hợp này, bạn sẽ nhập Tweak ID của Cercube là me.alfhaily.cercube
– Azule hỗ trợ inject nhiều tweak 1 lúc, bạn chỉ việc kéo thả hết tất các tweak vào cửa sổ Terminal là được. Ở đây, mình đang inject 2 tweak một lúc là CercubeYTUHD (Hình 2). Cuối cùng là ấn Enter để xác nhận.

Hình 2. Inject cùng lúc 2 tweak là Cercube và YTUHD

Sau khi ấn Enter, azule sẽ lại hỏi bạn lựa chọn các tính năng tiếp, đừng lo lắng. Azule có rất nhiều tính năng tương ứng với các boots arguements, mình sẽ giải thích ở dưới:

  1. Inject Tweaks: Inject tweak vào IPA, chúng ta vừa sử dụng tính năng này ở trên.
  2. Change Display Name: thay đổi tên của ứng dụng trên màn hình chính. VD thay vì để tên app mặc định là YouTube, bạn có thể sửa nó thành Cercube (tránh dùng dấu cách trong phần này).
  3. Change App Version: thay đổi version của app.
  4. Change BundleID: Thay đổi bundle ID (Bundle Name) của app, có thể dùng để nhân bản ứng dụng. Display Name là tên cho người dùng đọc, Bundle Name là tên cho hệ thống đọc. Bundle Name của YouTube là com.google.ios.youtube. Ta đổi tên này thành com.qn.ios.youtubexyz sẽ lừa hệ thống nghĩ rằng đây là 2 ứng dụng riêng biệt.
  5. Remove UISupportedDevices: gỡ bỏ danh sách thiết bị hỗ trợ. Cái này gặp khi bạn dùng IPA crack trực tiếp từ AppStore. Vì AppStore sẽ sửa đổi IPA cho phù hợp với thiết bị của bạn khi tải về, nên sẽ vô tình gỡ bỏ hỗ trợ đối với các thiết bị khác. Remove UISupportedDevices là một giải pháp tạm thời. Nếu crack IPA đúng cách thì IPA sẽ hỗ trợ tất cả thiết bị phù hợp. Cách crack IPA chuẩn ở đây.
  6. Fakesign IPA: chỉ dùng khi muốn cài IPA trên máy đã jailbreak bằng Filza/Appsync. Nếu bạn sideload IPA thì không cần Fakesign IPA.
  7. Remove App Extensions: gỡ bỏ các tiện ích đi kèm với app. Gần như tất cả các extensions đều không hoạt động nếu bạn sideload bằng tài khoản free developer. Vì vậy bạn có thể gỡ hết Extensions mà không ảnh hưởng gì đến hoạt động của ứng dụng. Tùy chọn này tương tự với tùy chọn Remove App Extensions khi bạn sideload iPA bằng .
  8. Remove Watch App: nếu IPA hỗ trợ Apple Watch thì bạn bắt buộc phải gỡ Watch app nếu muốn sideload nó. Nếu không sẽ bị lỗi liên quan đến WatchKit khi sideload.
  9. Run With Verbose Mode: chạy ở chế độ verbose, dùng khi cần debug.
  10. Set Custom Output Name: thay đổi tên IPA sau khi inject tweak xong.
  11. Done: dùng cuối cùng sau khi bạn đã lựa chọn đủ các tùy chọn.

Hình 3 dưới đây, mình đã chọn các tùy chọn là 1, 2, 7, 8, 10 và cuối cùng là chọn 11 để azule bắt đầu hoạt động. Nên nhớ là bạn không bắt buộc phải dùng tất cả các option nhé. Cần cái gì thì chọn cái đấy thôi!

Hình 3

Sau 1 lúc thì azule đã xử lý xong. Bạn đã tạo thành công iPA YouTube mod với CercubeYTUHD (Hình 4). Việc cần làm bây giờ là sideload nó bằng , Sideloadly, Rickpactor,… tùy bạn.

Hình 4

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