2013-11-14

Download an Google Chrome Extension file (.crx file)

Download file Google Chrome Extension

Đôi khi cần lưu file .crx version cũ khi không muốn cài lại máy và chỉ dùng version mới nhất thì nên download file .crx. Tuy nhiên nếu mở bằng Google Chrome thì cũng khó download được. Cách tốt nhất là dùng 1 chương trình khác download, dùng browser khác hoặc IDM.

Đầu tiên là vào Chrome Extension tìm ID của extension cần lưu.
Sau đó điền vào đường dẫn 

https://clients2.google.com/service/update2/crx?response=redirect&x=id%3Dxxxxxx%26uc

Phần màu xanh là phần sẽ điền ID vào. Ví dụ ID của Adblock Plus là cfhdojbkjhnklbpkdaibdccddilifddb

Vậy URL để download là 
https://clients2.google.com/service/update2/crx?response=redirect&x=id%3Dcfhdojbkjhnklbpkdaibdccddilifddb%26uc

2013-11-09

Unlock and jailbreak iPhone

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
Các tools cần thiết có thể download tại đây http://ih8sn0w.com/

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

Download 6.1.3 nếu cần sn0wbreeze  iPhone2,1_6.1.3_10B329_Restore.ipsw

Đả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.