↑ ↓
  1. noname
    Offline

    noname V.I.P

    Tham gia ngày:
    20/5/11
    Bài viết:
    7,056
    Đã được thích:
    1,807
    Đã có quá nhiều lời thắc mắc xung quanh nó. SHSH là gì? Tại sao phải lưu SHSH? Lưu SHSH như thế nào? Dùng SHSH như thế nào?
    Mình xin nêu ra 4 cái tổng quan nhất và có lẽ là cần thiết nhất trong những câu hỏi về SHSH như trên. Tiếp dưới đây mình sẽ cùng anh em đi đến câu trả lời cho 4 câu hỏi đó. Và chúng ta sẽ chỉ trả lời ngắn gọn nhất, đủ ý nhất để anh em không "căng thẳng" mà lại hiệu quả.

    1. File .SHSH là gì?
    Để trả lời cho câu hỏi này chúng ta cần lướt qua câu hỏi "phụ thuộc trước" đó là ECID là gì?

    ECID được viết tắc từ chữ Exclusive Chip ID. Nó là mã số của 1 con chip nhỏ mà Apple đã gắn vào các thiết bị iPhone, iPod touch, iPad, AppleTV. Mỗi iPhone (iDevices) là một mã số khác nhau, qua đó, 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.

    File .SHSH là gì?
    Như đã nói ở trên, mỗi iPhone đều có một mã số riêng gọi là ECID. SHSH như là một tờ chứng nhận cho mã số đó. SHSH được lưu trữ trên Server của Apple. Mỗi khi chúng ta 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 đó.

    File .SHSH chỉ có duy nhất Appletạo ra được và mỗi máy iPhone có 1 file .SHSH được Apple cấp cho mỗi bản firmware. SHSH cho firmware nào thì dùng để xác nhận cho firmware đó khi bạn restore.

    File .SHSH cũng được lưu tại Saurik Server khi bạn kết nối Cydia và có nhu cầu muốn lưu lại (Bạn sẽ xem cách lưu SHSH ở dưới)

    Xin bổ sung thêm thông tin về SHSH mà tác giả đã đề cập: thực ra phải gọi đây đủ là SHSH Blob (Signature HaSH blob), SHSH Blob là file chữ kí được Apple Server dùng để kiểm tra iphone có đang sử dụng iOS phiên bản mới nhất hay không. Mục tiêu của Apple khi dùng file SHSH blob là kiểm tra và ngăn chặn người dùng downgrade/restore firmware về phiên bản cũ hơn. Nếu vì một lý do nào đó mà bạn muốn restore firmware về phiên bản cũ hơn thì bạn cần phải gửi yêu cầu đến 1 server khác (có thể là local server) để gửi lại file SHSH blob mà bạn đã lưu để đánh lừa iTunes rằng iOS mà bạn đang chuẩn bị restore không phải là phiên bản cũ.

    2. Tại sao cần phải lưu file .SHSH
    SHSH được coi là giấy chứng nhận hay chứng chỉ để chứng thực cho iPhone khi restore firmware. Khi Apple nâng cấp Firmware lên bản mới hơn thì sẽ đóng cửa không cho ta dùng SHSH cho firmware cũ. Và như thế ta không thể restore xuống firmware cũ (thấp) hơn. Một khi Apple đã kiểm tra ECID (thông qua .SHSH), chúng ta chỉ có thể restore ở phiên bản mới nhất của Apple mà thôi. Chính vì vậy, chúng ta cần phải lưu file .SHSH của mình vào một server khác (như saurik) hoặc lấy về máy tính để sử dụng sau này.

    Có 2 cách để restore về phiên bản thấp hơn mà không cần phải qua Server của Apple.

    a/ Sửa file hosts trong máy tính của mình, vì mặc định server của Apple trong iTtunes là gs.apple.com cho nên chúng ta đưa địa chỉ của một server khác kèm theo gs.apple.com. Ví du : 123.0.0.1 gs.apple.com. Làm như vậy để đánh lừa iTunes cho giai đoạn Veryfying........Dĩ nhiên, trong server đó phải có file shsh của mình.

    b/ Dùng tinyumbrella để tạo một mini-server ngay trên máy tính của mình. Khi các bạn đã lấy được file shsh về máy tính, cách này rất đơn giản và an toàn hơn lưu file .SHSH tai Server của người ta. Ví dụ một ngày nào đó server cua saurik bị down thì file .SHSH của mình cũng tiêu luôn.

    3. Lưu .SHSH như thế nào? Cách dùng tinyumbrella

    Công cụ duy nhất để lưu SHSH một cách đầy đủ là tinyumbrella

    Download tinyumbrella tại đây: <Bạn vui lòng đăng nhập hoặc đăng ký để xem được nội dung này!>

      phù hợp với người dùng Windows, MacOS, Linux
    Bạn cần cài đặt jre (Java Runtime Environment) trước để có thể chạy tinyumbrella
    Download jre tại đây: <Bạn vui lòng đăng nhập hoặc đăng ký để xem được nội dung này!>

     . Trong đó bạn chọn bộ cài đặt cho hệ điều hành bạn dùng. Bạn chọn bộ cài Online hay Offline là tùy ý. Cài đặt jre xong thì bạn đã sẵn sàng mở tinyumbrella lên. Kết nối iPhone với máy tính của bạn và mở tinyumbrella.

    tinyumbrella có thể đọc các thông số của iPhone dù máy bạn có thể đang ở chế độ Recovery Mode, DFU mode hay bình thường. Khi bạn kết nối vào nó sẽ hiển thị như sau


    [​IMG]

    Ở ảnh trên
    1. Kích chuột vào dòng số 2 ta sẽ thấy như hình dưới

    [​IMG]
    1. Nút số 9 để tạo local server tên máy tính khi ta restore về firmware thấp
    Như vậy là bạn đã lưu được SHSH rồi
    Nó hiển thị ở ô số 3 như thế này

    [​IMG]

    Chuyển sang tab Log ở ô số 3 bạn sẽ biết được những chi tiết hơn


    [​IMG]

    Ấn nút 6 nếu bạn muốn lấy SHSH cho một máy bạn không có (bạn bè của bạn). Yêu cầu bạn phải có ECID của thiết bị đó (dùng umbrella ở những lần trước đã lấy SHSH hoặc bạn của bạn gửi cho)

    [​IMG]

    Điền tên thiết bị tùy ý, copy đúng số ECID và paste vào, chọn đúng thiết bị. Và ấn Create Custom Device

    [​IMG]

    Giờ tiếp tục nhấn vào tên thiết bị ở dưới dòng Custom Devices ở góc trái phía trên sau đó nhấn Save SHSH
    Nó sẽ chạy như hình dưới đây và chờ vài chục giây sẽ có kết quả


    [​IMG]
    4. Cách dùng File. SHSH để dowgrade firmware (hạ xuống)

    a. Mở tinyumbrella lên, kết nối iPhone với máy tính
    b. Chọn Save SHSH (bắt buộc phải làm để lấy SHSH về máy vì dùng local sever)
    c. Bấm nút Start TTS Server (ở mục Log cần báo TTS Server Started!)


    [​IMG]
    d. Để nguyên tinyumbrella, mở iTunes lên
    e. Bấm Shift + Restore và trỏ đến bản firmware bạn muốn restore mà đã lưu được SHSH về máy tính
    f. iTunes chạy cho đến khi hoàn thành g. Xong nếu iTunes không báo lỗi hoặc báo lỗi 1004 (lỗi 1004 là do baseband không bị thay đổi)
    h. Nếu bị lỗi 1004 thì chuyển sang tinyumbrella chọn nút Exit Recovery
    i. Đã xong

    Tác giả bài viết: Aqua Sta
     
    Hồ Đình Dũng thích bài này.

Chia sẻ trang này

Google+