Cóp nhặt 1 số thứ liên quan khi dev team nhận được 1 cái iPhone cần phải xử
Unlock là gì, jailbreak là gì?
Là 2 quá trình khác nhau. Tuy nhiên unlock thì cần
jailbreak.
Jailbreak là quá trình can thiệp để có thể toàn quyền điều
khiển iPhone (lấy quyền root).
Unlock là gì? Can thiệp vào baseband để sử dụng SIM của bất
kỳ nhà mạng nào à xem
baseband ở phần sau à
nếu không unlock thì ko call được. Unlock yêu cầu phải jailbreak trước, sau khi
jailbreak xong iPhone sẽ có thể cài appà
cài unlock tools như ultrasn0w để
unlock. Tất nhiên quá trình unlock còn phụ thuộc nhiều yếu tố trong đó chủ yếu
là version của baseband.
Baseband là gì?
Firmware là gì à1
dạng giữa phần mềm và phần cứng.
Baseband thực hiện điều khiển các loại sóng bao gồm sóng điện
thoại. Nên để call được với iPhone locked phải can thiệp BB. Khi nâng cấp FW
thông thường nâng cấp cả BB. Có thể hạ FW nhưng khi hạ FW thì không hạ được BB.
Tại sao phải giữ BB à
để thực hiện unlock vì tool unlock chỉ support 1 số BB. Ví dụ: ultrasn0w chỉ
support unlock 3GS với các BB sau: 0.6.15, 04.26.08, 05.11.07, 05.13.01,
05.12.01.
Kiểm tra BB của iDevice Settings à General à About à Modem Firmware
Nếu máy chưa activate (dính ở Emergency Call) thì dùng
f0recast
Boot loader là gì?
Là đoạn code thực hiện quá trình kiểm tra và nạp firmware
theo cách Apple mong muốn. Khi iBoot (boot loader của iPhone) được kích hoạt
thì không thể downgrade hay restore custom FW.
Recovery mode là gì?
Là quá trình restore
hoặc upgrade firmware có nạp iBoot. Để
thực hiện cần phải đưa về recovery mode. Ở chế độ này trên màn hình sẽ hiện cọng
cáp kết nối logo iTunes.
Cách đưa về recovery mode :
1. Tắt nguồn, tháo cáp
2. Giữ phím Home
3. Trong khi giữ phím Home thì cắm cáp vào
4. Tiếp tục giữ đến khi hiện hình cái cáp và mũi tên hướng
lên logo Itunes là máy đã đuợc đưa về Recovery mode.
Cách thoát khỏi Recovery mode:
Giữ cùng lúc phím Home + Power trong 10s đến khi Iphone tắt.
DFU mode là gì?
Là Device Firmware Upgrade, như đã nói đây là 1 chế độ đặc
biệt cần khi downgrade firmware. Tại mode này iBoot và OS sẽ bị bỏ qua, iTunes
vẫn nhận iPhone nhưng mà hình iPhone đen thui.
Để enter mode này có
thể dùng các tool hỗ trợ để việc thực hiện dễ dàng hơn.
Thực hiện manual như sau:
1. Chạy iTunes
2. Cắm phone vào PC
3. Chờ iTunes nhận (detected) được iphone
4. Bấm và giữ nút Power (ở trên) khoảng 3s . Sau đó bấm tiếp
nút Home (nút tròn) và giữ (trong khi vẫn giữ nút Power) khoảng 10s.
5. Trong khoảng 3s thì iPhone sẽ tắt và khởi động lại. Màn
hình sẽ tối đen. Lúc này đếm nhẩm trong đầu từ 1 -10, khi đếm tới 10 thì buông
nút Power ra nhưng vẫn bấm và giữ nút Home. Nên để ý là khi buông nút Power ra
thì màn hình phải vẫn còn tối đen. Nếu lúc buông Power mà quả táo đã hiện lên
là đã chậm tay và phải làm lại từ đầu. Cái mẹo ở lúc này là phải buông Power trước
khi quả táo xuất hiện!
6. Lúc này tay vẫn còn giữ nút Home, chờ thêm vài giây nữa
thì iTunes sẽ báo là "detect phone in DFU mode". Lúc này có thể buông
nút Home.
Cách thoát khỏi DFU mode (chỉ hữu dụng khi mắc kẹt và áp dụng
luôn):
Giữ Home và Power trong khoảng 30s cho đến khi nào iTunes
báo đã ngắt kết nối với iPhone thì thôi.
Activation là gì?
Kích hoạt iPhone qua screen Emergency Call và vào được màn
hình chính là springboard.
Nếu là bản quốc tế thì chỉ cần cắm vào iTunes. 1 dạng khác
là cần cắm SIM (SIM lock) của nhà mạng để unlock à
gọi là activate không cần jailbreak
Nếu iPhone lock à
cần jailbreak hay gọi là hacktivate (hacktivation).
SHSH là gì, ECID là gì?
ECID được viết tắc từ chữ Exclusive Chip ID là mã số của 1
con chip nhỏ mà Apple đã gắn vào Iphone 3GS và Ipod Touch 3G. Apple có thể chứng
thực được iPhone nào khi kết nối với Server của Apple. ECID không thể thay đổi
được bằng software, chỉ có thể thay đổi bằng cách thay chip khác.
SHSH như là một tờ chứng nhận cho mã số đó dạng file có ext
là shsh. SHSH được lưu trữ trên Server của Apple, khi restore iPhone của mình,
bước thứ 2 là gian đoạn "Verifying with Apple Server". Đó chính là
lúc Itunes đã kết nối với server và đang kiểm chứng xem ECID của mình có hợp lệ
hay không thông qua file .shsh đã lưu tại đó. Cydia có hỗ trợ backup SHSH.
Tại sao phải backup SHSH tại Cydia. Apple không cho restore
về phiên bản thấp hơn trừ phiên bản gốc. Tức Apple không cung cấp chứng thực
cho việc hạ hay restore xuống FW thấp hơn FW hiện tại khi không có SHSH. Thông
thường sau 1 thời gian ra FW mới Apple sẽ closed luôn FW cũ tức chỉ có thể nâng
cấp lên FW mới nhất.
Khi restore về phiên bản cũ hơn thì trong giai đoạn verifying
với server phiên bản đó phải được server hỗ trợ. Có 2 cách giả server Apple
iTunes: server nào online đã có sao lưu SHSH (hiện tại có Cydia của Saurik) hoặc
tạo local server dùng file đã lưu có tại local. Phải chỉnh file hosts để chuyển
server của iTunes là gs.apple.com thành server mong muốn. Khi restore về FW thấp
hơn FW hiện hành mà không được Apple hỗ trợ thì phải có bản sao lưu SHSH để tạo
custom firmware.
Backup và thao tác với SHSH
Hai tools dùng backup SHSH là iFaith và TinyUmbrella (yêu cầu phải cài JRE)
Có thể dùng iFaith kiểm tra SHSH đã lưu của iPhone, fetch
SHSH về từ server nếu có, backup SHSH lên Cydia
Dùng sn0wbreeze để tạo custom FW à dung restore FW mà iPhone ko
bị nâng baseband.
Untethered jailbreak và tethered jailbreak
Untethered jailbreak còn gọi là jailbreak “không dính cáp”
JBU khác với tethered jailbreak: nếu chỉ
tethered jailbreak thì trong trường
hợp máy hết pin hay tắt nguồn nói chung là khi muốn chạy một app JB nào thì phải
thực hiện 1 vài thao tác (cắm cable à
dùng redsn0w à
chạy Just Boot).
BootROM cũ và BootROM mới
Thời điểm Apple phát hành FW iOS 4.0, Dev-Team chỉ tìm được
kẽ hở của FW có thể jailbreak cho 3GS Old-BootRom trong khi đó không thể tìm
cách jailbreak New-BootRom. Do thấy Old-BootRom bị "hở sườn" nên
Apple thay đổi loại iBoot mới cho 3GS là New-BootRom (iBoot-359.3.2).
Ngoài ra, sau khi sản xuất iPhone 4, Apple vẫn tiếp tục sản
xuất The New 3GS 8GB với chip Toshiba, mục
đich ngăn chận máy Lock nâng baseband của iPad (0.6.15) để unlocked (ultrasn0w
hỗ trợ unlock BB 0.6.15). Đó là các The New 3GS 8GB sản xuất từ tuần 33 năm
2011 trở về sau. Serial Number: xx133xxxxxx, firmware 4.3.5, BB 5.14 (một số
thông tin khác là từ tuần 27 năm 2011 trở về sau).
Các The New 3GS 8GB này khi jailbreak bằng cách dùng
baseband của iPad 0.6.15 sẽ bị lỗi "NO
ALL", mất WiFi, Bluetooth, ECID, IMEI. Đồng thời iTunes báo lỗi (-1),
và máy bị treo hình cáp dĩa. Giang hồ đồn đây là loại baseband "Emergency
Boot Loader" (EBL). Các máy The New 3GS 8GB bị "NO ALL" iTunes
Error (-1) không thể restore và chỉ có thê gửi trả bào hành nếu còn thời hạn.
Ví dụ, số serial của iPhone 4 thường có cấu trúc AABCCDDDEEF, trong đó:
AA = Nhà máy
sản xuất và ID của máy móc
B: Năm sản
xuất (là chữ số đứng cuối mỗi năm, ) 9=2009, 0=2010, 1=2011, 2=2012)
CC: tuần sản
xuất
DDD: Unique
identifier (tuy nhiên không liên quan tới UDID của sản phẩm)
EE: Màu sản
phẩm
F: Kích cỡ bộ
nhớ, trong đó S là 16GB và T là 32GB
Với các version cũ hơn thì quy tắc khác một chút. OSX Daily
còn cung cấp một bảng hướng dẫn dễ đọc hơn với 3 ký tự cuối cùng của số serial:
VR0 (iPhone
2G 4GB màu bạc)
WH8 (iPhone
2G 8GB màu bạc)
0KH (iPhone
2G 16GB màu bạc)
Y7H (iPhone
3G 8GB màu đen)
Y7K (iPhone
3G 16GB màu đen)
3NP (iPhone
3GS 16GB màu đen)
3NR (iPhone
3GS 32GB màu đen)
3NQ (iPhone
3Gs 16GB màu trắng)
3NS (iPhone
3Gs 32GB màu trắng)
A4S (iPhone
4 16GB màu đen)
A4T (iPhone
4 32GB màu đen)
Do đó với mỗi loại BootROM thì việc jailbreak sẽ thực hiện
khác nhau à nếu
dung OLD BootROM thì có nhiều lợi thế hơn khi jailbreak.
BootROM cũ có lỗi vì thế có thể thực hiện untethered
jailbreak (không dính cáp) và đồng thời cho phép "bypass" signature
check (SHSH) khi restore custom FW à
lợi hại nếu có OLD BootROM.
Đưa iPhone về DFU
mode bằng iReb à có số giây để biết
cách thực hiện à cắm iPhone vào để
iTunes nhận, iPhone đang bật à thực hiện theo iReb.
Nếu bị dính recovery
mode không thoát được theo cách thông thường à dùng
TinyUmbrella để thoát recovery mode
Kiểm tra BootROM là
OLD hay NEW bằng cách dung iDetector (iPhone phải đưa về DFU mode trước)
Thực hiện
Apple hiện tại đang để 2 FW active cho 3GS là FW 4.1 và FW
6.1.3.
Kiểm tra baseband à
nếu là BB 6.15 thì dùng Redsn0w để downgrade BB 05.13.04 à nếu là BB 5.14 , 5.15
, 5.16 (những thằng không được hỗ trợ) thì nâng lên BB 6.15 rồi làm 1 lần nữa để
hạ xuống BB 5.13, ngay cả khi device chưa bao giờ có BB 05.13.04 (đừng hỏi vì
sao làm được).
Tại sao hạ xuống BB 05.13 là theo thông tin thì BB này ít tốn
pin hơn BB 6.15 và quan trọng iPhone sẽ bị mất chức năng như định vị GPS bởi vì
BB 06.15.00 của iPad không chứa bộ nhớ bản đồ và các lệnh giao tiếp Read/Write
với chip GPS.
Nếu máy từ tuần 34 của 2011 trở về sau thì theo cảnh báo của
redsn0w không nên up lên BB 6.15 à
có thể bị dính NO ALL à
QUÁ ĐEN à chỉ có nước chờ tool unlock fix thôi.
Kiểm tra nếu OLD BootROM thì OK rồi, nếu NEW BootROW thì phải
có SHSH
à xem
lại backup SHSH
à dùng
sn0wbreeze
để tạo custom FW
à
restore lại FW 5.1.1 nếu có SHSH của FW 5.1.1. Nếu không có thì
bó tay à
chỉ có thể dùng active FW là FW 4.1 hoặc FW 6.1.3 và các FW có backup SHSH.
Tóm lại thực hiện như sau:
Dùng redsn0w JB và nâng BB 6.15 à JB và hạ BB xuống 5.13
Nếu chưa lên FW 6.1.3, tạo custom FW 6.1.3 bằng
sn0wbreeze à
restore không nâng BB
Đảm bảo redsn0w chạy quyền admin, mode compatibility với
Windows XP SP2/SP3
Chọn Extract à Select IPSW à
chọn FW 6.0 (lưu
ý là 6.0 chứ không phải 6.1.3) à
Back chọn JB à
chỉ check Install baseband Ipad
Làm thêm 1 lần nữa để hạ BB, đồng thời check install Cydia luôn.
Sau bước này thì vẫn chưa có Cydia để install ultrasn0w à chạy Just Boot (Extract à
Select IPSW cũng chọn FW 6.0 à đưa máy về DFU chọn Extras à
Just Boot) à iPhone hiện hình quả dứa.
Như vậy là Jailbreak
Tethered xong à
search & install ultrasn0w trong Cydia à
unlock.