Smartphone

WindowBreak: giải pháp mở khóa không tốn tiền cho Samsung WP7

WindowBreak: giải pháp mở khóa không tốn tiền cho Samsung WP7
id="post_message_12996053">
WindowBreak: giải pháp mở khóa không tốn tiền cho Samsung WP7

Như đã biết thì Microsoft đã hợp thức hóa việc mở khóa lập trình viên (Developer Unlock) trên điện thoại Windows Phone để người dùng có thể cài thêm các ứng dụng bên ngoài không được đăng tải trên Marketplace. Tuy nhiên, để mở khóa đối với các thiết bị đang chạy Windows Phone 7.5 thì người dùng buộc phải thông qua dịch vụ ChevronWP7 Labs và mất phí 9 USD. "Mang tiếng" là mở khóa nhưng cách thức của ChevronWP7 Labs chỉ cho phép người dùng cài các ứng dụng thông thường, không được can thiệp sâu vào hệ thống. Vì vậy, để không phải mất 9 USD, Windows Phone Hacker mới đây đã giới tiệu một giải pháp mở khóa Interop (Interop Unlock) vừa miễn phí, vừa cho phép bạn cài các ứng dụng yêu cầu truy xuất hệ thống. Giải pháp này thuộc dự án WindowBreak do lập trình viên Jaxbot trên Xda-developers khởi xướng và hiện đã được thử nghiệm thành công trên các thiết bị của Samsung.

WindowBreak là gì?

Đây là một dự án để mở khóa mọi thiết bị hoạt động trên nền tảng Windows Phone của Microsoft. Giải pháp của WindowBreak cho phép mở khóa lập trình viên và Interop mà không cần Chevron Labs, AppHub, hay yêu cầu người dùng cài đặt các bản ROM cook.

Hạn chế của WindowBreak?

Giải pháp của WindowBreak vẫn chưa phải là giải pháp mở khóa hoàn toàn thiết bị và cũng chưa hẳn là miễn phí. Hiện tại, WindowBreak vừa được thử nghiệm trên các máy Samsung và sở dĩ nó hoạt động được là do các thiết bị của Samsung được tích hợp sẵn công cụ Diagnostics, giúp WindowBreak khai thác một lỗ hổng để kiểm soát đường dẫn trong quá trình giải nén các tập tin trong 1 gói XAP.

Tại sao các thiết bị của HTC, Nokia, v.v... vẫn phải chờ?

Nokia: Jaxbot cho biết anh không có Nokia Windows Phone để thử nghiệm nhưng sẽ cố gắng bẻ khóa càng sớm càng tốt.

HTC: Theo Jaxbot thì anh vẫn chưa tìm ra cách giải nén các tập tin trong 1 gói XAP trên thiết bị HTC, điển hình như ứng dụng Connection Setup. Anh cần phải tìm hiểu thêm về mã hóa mật mã trên HTC Windows Phone và cộng đồng Xda-developers đang hỗ trợ nhiệt tình cho Jaxbot.

Các thiết bị khác: Lý do là nhu cầu mở khóa vẫn không cao. LG thì đã có MFG vốn là một công cụ tích hợp sẵn trong máy và cho phép người dùng mở khóa trong vài nốt nhạc.

Vì sao phải mở khóa Interop?

Các ứng dụng WP7 thông thường được viết trên nền Silverlight hoặc XNA. Chúng chạy trên các đoạn mã quản lý (managed code). Một số phần mềm cũng sử dụng các mã máy (native code C++) nhưng Microsoft lại giới hạn mức độ khai thác mã máy tùy theo đối tác phát triển được chọn bởi mã máy có khả năng gặp lỗi cao hơn và cần phải được sử dụng cẩn thận. Tuy nhiên, thực tế không có ranh giới nào cho việc sử dụng mã máy trên điện thoại Windows Phone. Nếu thiết bị của bạn đã được mở khóa bằng tài khoản AppHub hoặc ChevronWP7, bạn có thể chạy các ứng dụng bên ngoài với mã máy. Bên cạnh đó, cũng có một số ứng dụng yêu cầu truy xuất trình điều khiển của thiết bị và những ứng dụng này cần khả năng truy xuất Interop Service. Khả năng này chỉ được cấp cho các phần mềm do Microsoft và phía OEM phát triển. Tuy nhiên, rất nhiều phần mềm Homebrew (phần mềm do cộng đồng phát triển, giống phần mềm ngoài lề) cũng cần khả năng truy xuất Interop Service để giành quyền tùy chỉnh hệ thống cao hơn. Vì vậy, Interop Lock có nghĩa khả năng này bị khóa trên thiết bị và cho dù bạn có Unlock máy bằng AppHub hay ChevronWP7 Labs đi nữa thì bạn vẫn không thể cài thêm các ứng dụng yêu cầu quyền can thiệp hệ thống cao hơn. Ví dụ như công cụ WP7 Root Tools cần khả năng truy xuất này để chạy nhưng khi thiết bị bị khóa Interop, hệ thống sẽ báo lỗi 0x81030120 khi cài ứng dụng vào máy.

2 thành viên Contable và Marvin_S trên diễn đàn Xda-developers đã tiến thành nghiên cứu về Interop Lock và tìm ra rằng tùy chỉnh registry cho MaxUnsignedApp (số ứng dụng chưa xác nhận được cài đặt tối đa) chịu trách nhiệm đối với Interop Lock. Trên thực tế, nếu bạn thiết lập giá trị cho MaxUnsignedApp là 300 hoặc cao hơn, Interop sẽ được mở khóa. Giá trị của MaxUnsignedApp được xác định bởi "cách thiết bị được Developer Unlock". Đối với một tài khoản AppHub thông thường hoặc mở khóa bằng dịch vụ ChevronWP7 Labs thì giá trị được thiết lập là 10 và đối với tài khoản AppHub "học sinh" thì giá trị được thiết lập là 3. Giá trị tương đương với số lượng ứng dụng Homebrew tối đa được phép cài vào máy. Vì vậy, nếu là 300 hoặc hơn thì giá trị của MaxUnsignedApp không thực tế đối với một tài khoản lập trình viên phổ thông. Giá trị này chỉ có thể được thiết lập cho các kỹ sư lập trình của Microsoft hay các nhà phát triển OEM.

Trước đây, để mở khóa Interop cho phiên bản WP Mango thì bạn phải hạ phiên bản ROM về lại NoDo trước, mở khóa Developer bằng ChevronWP7 Unlock, load file provxml vào máy và nâng cấp lên Mango. Kế đến là sử dụng các công cụ của nhà sản xuất OEM để thực thi file provxml và tiến hành mở khóa. Tuy nhiên, đây không phải là một công việc dễ dàng và không phải thiết bị nào cũng hoạt động được bởi đơn giản không phải máy nào cũng có bản ROM thích hợp. Gần đây thì thành viên Heathcliff74 trên Xda-developers cũng giới thiệu một giải pháp để mở khóa Interop thủ công nhưng hơi phức tạp. Vì vậy, giải pháp của WindowBreak có phần dễ thực hiên hơn và thao tác chủ yếu trên điện thoại thay vì PC.

Phải làm gì khi bạn đang sử dụng Samsung Windows Phone?:


Nếu đang sử dụng điện thoại Windows Phone của Samsung như Focus hay Omnia 7 và đã "lỡ" nâng cấp lên Windows Phone 7.5 mà chưa mở khóa thì ngay bây giờ, bạn có thể thực hiện theo các bước sau đây (xem video demo ở trên):
  1. Mở trình duyệt Internet Explorer trên điện thoại và gõ vào địa chỉ: http://windowsphonehacker.com/windowbreak
  2. Nhấp vào nút "WindowBreak Me"
  3. Hệ thống sẽ tự động nhận biết thiết bị: model, phiên bản WP, tình trạng unlock. Nhấp tiếp vào nút "windowbreak"
  4. Trình duyệt sẽ mở ra một trang với nhiều đường dẫn và thư mục, nhấn nút Home (không phải nút Back) để thoát ra ngoài màn hình chính
  5. Vào Phone, mở bàn phím số và nhập ##634#
  6. Một bàn phím khác sẽ hiện ra, bạn tiếp tục nhập *#9908#
  7. Một màn hình mới sẽ hiện ra, bạn nhấp vào khung Select GPRS và chọn "windowbreak"
  8. Nhấn Save và khởi động lại máy (nhấn giữ nút nguồn và tắt mở lại)
  9. Hoàn tất, thiết bị của bạn đã được mở khóa WindowBreak: giải pháp mở khóa không tốn tiền cho Samsung WP7.

Trước mắt là chỉ Samsung Windows Phone, hy vọng trong thời gian tới, các thiết bị của HTC, Nokia và nhiều hãng khác sẽ được mở khóa qua WindowBreak. Và cũng hy vọng, đây sẽ là một món quà Giáng Sinh nho nhỏ cho các bạn đang sử dụng Windows Phone. WindowBreak: giải pháp mở khóa không tốn tiền cho Samsung WP7