引
Chỉ dành cho mục đích học tập và tham khảo. Không sử dụng cho mục đích bất hợp pháp. Trang web này không chịu trách nhiệm cho bất kỳ hậu quả nào phát sinh từ việc sử dụng đó.
Lưu ý
Bạn đang xem với tư cách khách. Vui lòng Đăng ký hoặc Đăng nhập để xem các liên kết và tải xuống tệp đính kèm.
🔒 Vui lòng đăng nhập để xem Liên kết
🔒 Vui lòng đăng nhập để xem Liên kết
🔒 Vui lòng đăng nhập để xem Liên kết
🔒 Vui lòng đăng nhập để xem Liên kết
🔒 Vui lòng đăng nhập để xem Liên kết
INFO!!! HƯỚNG DẪN CÀI ĐẶT ANGELS PACT
LƯU Ý!!! Việc cài đặt game này khá phức tạp và nhiều bước. Hãy thực hiện đúng theo hướng dẫn, nếu bỏ sót bước nào game có thể không hoạt động.
Thông tin về Frida: Frida chỉ cần sử dụng một lần trong giai đoạn đăng nhập, sau đó có thể ngắt thiết bị khỏi ADB. Không yêu cầu Root. Game có thể chạy trên thiết bị chưa Root vì Frida Server đã được tích hợp trực tiếp vào APK (
classes.dex2).CẤU HÌNH HIỆN TẠI
IP Server Windows:
192.168.1.102APK đã hoàn thiện:
C:\gameserver\HVPT_102_signed.apkThư mục APK đã giải mã:
C:\gameserver\HVPT_decodedCác port cần thiết:
- 81: File cập nhật game tĩnh
- 82: GM Panel PHP Server (tùy chọn)
- 808: Account Server
- 8081: Python Account Proxy / Version Proxy
- 8810: Game Server
- 3306: MariaDB
- 6379: Redis
- 27042: Frida Gadget Forwarded Port
1. THAY ĐỔI IP PHÍA SERVER
Khi IP LAN của Windows thay đổi, cần cập nhật IP cũ thành IP mới trong tất cả các file server dưới đây.
Danh sách server tĩnh:
C:\gameserver\www\public\serverlist.json
C:\gameserver\www\serverlist.txtFile JSON cập nhật/version Android:
C:\gameserver\www\wwwroot\game\androi\version
C:\gameserver\www\wwwroot\game\androi\version1.0.1.json
C:\gameserver\www\wwwroot\game\androi\version1.0.11.json
C:\gameserver\www\wwwroot\game\androi\version1.0.12.json
C:\gameserver\www\wwwroot\game\android\version
C:\gameserver\www\wwwroot\game\update\android\version1.0.1.json
C:\gameserver\www\wwwroot\game\update\android\version1.0.11.json
C:\gameserver\www\wwwroot\game\update\android\version1.0.12.jsonCác file này phải trỏ client tới máy chủ cập nhật tĩnh:
http://192.168.1.102:81/androi/1_0_12Danh sách server Account trong MariaDB:
Database:
accountTable:
server_listCác cột quan trọng:
host
port
proxy_ip
proxy_port
proxy_switchSau khi MariaDB khởi động, chạy lệnh:
C:\gameserver\mysql\bin\mysql.exe --protocol=TCP --host=127.0.0.1 --port=3306 --user=root --password=123456 --execute="USE account; UPDATE server_list SET host='192.168.1.102' WHERE host<>''; UPDATE server_list SET proxy_ip='192.168.1.102' WHERE proxy_ip='192.168.1.107' OR proxy_ip='192.168.1.69'; SELECT id,name,host,port,proxy_ip,proxy_port,proxy_switch FROM server_list;"Kiểm tra:
http://127.0.0.1:808/serversKết quả cần có:
"host":"192.168.1.102"2. KHỞI ĐỘNG BACKEND
Khởi động toàn bộ backend bằng:
C:\gameserver\START_ALL.batKiểm tra các port:
netstat -ano | findstr "81 808 8081 8810 3306 6379"Kiểm tra:
http://127.0.0.1:808/servers
http://127.0.0.1:8081/android/vers1.0.1.jsonKết quả mong đợi:
trả về host/servers
và port192.168.1.102
.8810
trả về URL cập nhật trỏ tới/androi/vers...
.192.168.1.102:81
- File
phải ghi nhậnaccount_8081_proxy.log
vàPOST /login
khi client thực hiện quá trình đăng nhập.GET /servers
Proxy:
C:\gameserver\account_8081_proxy.pyLog Proxy:
C:\gameserver\account_8081_proxy.log3. THAY ĐỔI IP PHÍA APK
Các IP dạng plain text trong APK nằm trong metadata IL2CPP:
C:\gameserver\HVPT_decoded\assets\bin\Data\Managed\Metadata\global-metadata.datCác chuỗi IP đã được chỉnh sửa:
http://192.168.1.102:8081/androi/vers
http://192.168.1.102:8081/notice/getHidde/{0}Kiểm tra metadata bằng:
python -c "from pathlib import Path; b=Path(r'C:\gameserver\HVPT_decoded\assets\bin\Data\Managed\Metadata\global-metadata.dat').read_bytes(); print(b.count(b'192.168.1.102'), b.count(b'192.168.1.107'), b.count(b'192.168.1.69'))"Kết quả mong đợi:
2 0 04. BUILD VÀ SIGN APK SAU KHI THAY ĐỔI METADATA
APK đang hoạt động:
C:\gameserver\HVPT_102_signed.apkNếu chỉ chỉnh sửa metadata nhỏ, không cần build lại toàn bộ bằng Apktool. Chỉ cần thay thế metadata bên trong APK, align và sign lại.
Bước 1 – Thay metadata:
python C:\gameserver\replace_zip_entry.py C:\gameserver\HVPT_102_signed.apk C:\gameserver\HVPT_new_unsigned.apk assets/bin/Data/Managed/Metadata/global-metadata.dat C:\gameserver\HVPT_decoded\assets\bin\Data\Managed\Metadata\global-metadata.datBước 2 – Align APK:
python C:\gameserver\zipalign_large_apk.py C:\gameserver\HVPT_new_unsigned.apk C:\gameserver\HVPT_new_aligned.apkBước 3 – Sign APK:
set JAVA_HOME=C:\gameserver\jdk8
set PATH=%JAVA_HOME%\bin;%PATH%
C:\gameserver\build-tools\android-13\apksigner.bat sign --ks C:\gameserver\debug.keystore --ks-pass pass:android --key-pass pass:android --ks-key-alias androiddebugkey --out C:\gameserver\HVPT_new_signed.apk C:\gameserver\HVPT_new_aligned.apkBước 4 – Kiểm tra chữ ký APK:
set JAVA_HOME=C:\gameserver\jdk8
set PATH=%JAVA_HOME%\bin;%PATH%
C:\gameserver\build-tools\android-13\apksigner.bat verify --verbose C:\gameserver\HVPT_new_signed.apkKết quả mong đợi:
Verified using v1 scheme: true
Verified using v2 scheme: true
Verified using v3 scheme: trueBước 5 – Chép APK vào điện thoại:
C:\gameserver\platform-tools\adb.exe push C:\gameserver\HVPT_new_signed.apk /sdcard/Download/HVPT_new_signed.apk5. TẠI SAO VẪN CẦN FRIDA KHI ĐĂNG NHẬP?
CẢNH BÁO LOGIN:
IP đăng nhập cũ:
192.168.1.69:8081
URL đăng nhập runtime:
http://192.168.1.69:8081/login
http://192.168.1.69:8081/servers
Chuỗi này không phải dạng IP plain text thông thường trong APK. Nó được tạo trực tiếp khi game chạy bởi Unity + XLua.
URL đăng nhập không được lưu dưới dạng chuỗi có thể tìm kiếm trực tiếp trong APK. Tuy nhiên Frida đã xác nhận Unity nhận URL này trong runtime.
IP cũ có thể được tạo từ dữ liệu Lua/Asset đã mã hóa hoặc được ghép chuỗi trong runtime. Vì chưa được patch vĩnh viễn trong asset nên Frida được sử dụng để thay đổi IP khi game đang chạy.
Script Frida:
C:\gameserver\frida\trace_connect.jsFile khởi chạy:
C:\gameserver\start_frida\trace.batLog Frida:
C:\gameserver\frida\trace_capture.logScript sẽ thay:
192.168.1.69 → IP của bạnvà theo dõi các hàm kết nối mạng như
connect, getaddrinfo, inet_addr, inet_pton... đồng thời ghi lại các request tới port 8081.Kết quả mong đợi trong
trace_capture.log:[rewrite-sscanf] "http://192.168.1.69:8081/login" -> "http://192.168.1.102:8081/login"
[rewrite-sscanf] "http://192.168.1.69:8081/servers" -> "http://192.168.1.102:8081/servers"
[connect] fd=... -> 192.168.1.102:80816. QUY TRÌNH SỬ DỤNG FRIDA
Bước 1: Khởi động backend:
C:\gameserver\START_ALL.batBước 2: Kiểm tra port:
netstat -ano | findstr "81 808 8081 8810 3306 6379"Bước 3: Kết nối điện thoại với USB Debugging:
C:\gameserver\platform-tools\adb.exe devicesBước 4: Mở game trên điện thoại.
Bước 5: Khởi động Frida:
C:\gameserver\start_frida\trace.batBước 6: Chờ cửa sổ Frida hiển thị:
[frida] connect/send hooks loadedBước 7: Sau khi Frida đã hoạt động, nhấn Login/Register trong game.
Bước 8: Nếu đăng nhập vẫn thất bại, kiểm tra:
C:\gameserver\frida\trace_capture.log
C:\gameserver\account_8081_proxy.logQUAN TRỌNG: Không nhấn Login trước khi Frida báo hooks đã được tải. Nếu request đăng nhập xảy ra trước khi Frida được attach, client vẫn có thể kết nối tới IP cũ.192.168.1.69
Lưu ý về ADB/Frida:
- Điện thoại phải được kết nối USB trong quá trình sử dụng Frida.
- USB Debugging phải luôn được bật.
- Lệnh
phải được duy trì.adb forward tcp:27042 tcp:27042
- Nếu cáp USB bị ngắt, ADB khởi động lại hoặc game restart, cần chạy lại
trước khi đăng nhập.start_frida_trace.bat
- Frida chỉ là phương pháp patch runtime, không phải patch vĩnh viễn vào APK.
7. GM PANEL
Thư mục GM Panel:
C:\gameserver\www\wwwroot\game\gmTrang GM chính:
http://127.0.0.1:82/gm/gm.phpGM CODE:
RaconLƯU Ý CUỐI
Do IP của người chia sẻ dài hơn 1 byte, tên file/thư mục Android ở cả phía server và client đã được đổi thành:
androiNếu IP của bạn ngắn hơn 1 byte, hãy đổi tên
androi trở lại kích thước/tên gốc tương ứng.
🌸 Tải xuống mã nguồn:
🔒 Khóa tải xuống - Bạn cần đăng nhập để xem link tải.
Đơn giản tạo nên sự khác biệt