Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Jak obejść ograniczenia Sklepu Windows Phone?

Każdy z producentów ma własne unikalne aplikacje w sklepie Windows Phone, co więcej, ograniczone często do konkretnych modeli urządzeń (np. Nokia Pro Cam ograniczona do modeli 92x i 1020). Zatem teoretycznie nie zainstalujemy aplikacji od Noki na HTC i na odwrót, także dedykowanej aplikacji do zdjęć dla Lumii 920 nie pobierzmy na Lumię 820. Okazuje się jednak, że można to w prosty sposób obejść, bez magicznej wiedzy.

Przygotowania do pracy

Aby móc działać w jakikolwiek sposób, należy pobrać program Fiddler. Dzięki tej aplikacji będziemy w stanie monitorować ruch jaki generuje nasze urządzenie z Windows Phone. Kiedy już zainstalujemy Fiddlera, czas na konfigurację:


  • Musimy sprawdzić nasze IP, na którym zainstalowany jest Fiddler. Najszybciej wykonamy to z linii poleceń. Skrótem Windows+R otwieramy okno Uruchamianie, wpisujemy w nim cmd, aby uruchomić linię poleceń. Wpisujemy komendę ipconfig i sprawdzamy nasz adres IP.

    r   e   k   l   a   m   a

  • Komputer, na którym jest Fiddler, pełnić będzie rolę proxy. Zatem ustawmy w Windows Phone odpowiednie opcje. Połączmy się z sieci WiFi (w której już jest obecny komputer z Fiddlerem) i poprzez przytrzymanie palca na nazwie sieci, dodajmy proxy.

    Adres IP ustawimy taki, jaki jest na komputerze z Fiddlerem, zaś nr portu wpisujemy: 8888 (domyślnie dla Fiddlera).

  • Czas na uruchomienie Fiddlera. W menu opcji Tools->Fiddler Options... w zakładce Connections, zaznaczyć należy Allow remote computers to conect.


Analiza podglądu

Już na tym etapie wszelki ruch sieciowy wykonywany z poziomu telefonu, powinien być wychwytywany przez Fiddlera (jeśli tak nie jest, sprawdź czy opcja File->Capture Traffic jest zaznaczona). Warto teraz wyczyścić okno Fiddlera (ikona krzyżyka i wybieramy Remove all).

Wejdźmy na urządzeniu z Windows Phone do Sklepu i wybierzmy jakąś aplikację do wyświetlenia. W oknie Fiddlera pojawi się m.in. log z hostem marketplaceedgeservice.windowsphone.com. Jest to link, który został wysłany ze smartofnu do Sklepu. Zobaczmy jak wygląda taki przykładowy adres:

http://marketplaceedgeservice.windowsphone.com/v8/catalog/apps/9c3e8cad-6702-4842-8f61-b8b33cc9caf1?os=8.0.10211.0&cc=PL&oc=&lang=pl-PL&hw=50700000&dm=RM-825_eu_poland_295&oemId=NOKIA&moId=&cf=00-0

Szybko zauważymy:


  • ID aplikacji (to ten długi GUID).
  • Wersję systemu urządzenia - znacznik os
  • Język i region - znacznik cc i lang
  • Wersję sprzętu - znacznik hw
  • Wersja firmwareu (określa model urządzenia i operatora) - znacznik dm
  • Producent/OEM - znacznik oemId

Oczywiście to nie wszystkie parametry, jakie są wysyłane, ale te które na daną chwilę mogę się nam przydać.

Jak podmienić wartości?

Wiemy już jak wygląda link do Sklepu i co w nim jest przesyłane. Jak teraz w locie podmienić wartości na takie, jakie zechcemy ustawić? Użyjemy tu Fiddlera. Można to osiągnąć w dwojaki sposób. Z poziomu GUI (zakładka AutoResponder i ustawienie reguł) lub w skrypcie. Opcja pierwsza jest najprostsza, ale najmniej uniwersalna i konfigurowalna, druga zaś ma większe możliwości i nią się właśnie zajmiemy:


  • Skrótem Ctrl+R otwieramy plik z regułami dla Fiddlera.
  • Znajdujemy linijkę:
    static function OnBeforeRequest(oSession: Session) {

  • za tą linijką wklejamy kod:

    if(oSession.uriContains("_ORG"))
    {
    	oSession.url = oSession.url.Replace("_ORG"","_ZMIANA");
    }

    Powyższy kod sprawdza, czy w url znajduje się szukany ciąg, jeśli tak jest, podmienia go.

    _ORG jest szukanym elementem w stringu,
    _ZMIANA to wartość na jaką chcemy zamienić.

  • Po edycji zapisujemy plik.

Wykorzystanie

Znamy wygląd url wysyłanego do Sklepu oraz z czego się składa, teraz przyszedł czas na kilka przykładów wykorzystania tej wiedzy.

Pobieranie aplikacji OEM od innego producenta, niż producent urządzenia

Sprawa jest prosta. Posiadamy np. Lumię od Nokii, a chcemy pobrać aplikację Photo Enhancer, która dedykowana jest tylko dla urządzeń od HTC. Naszym celem jest podmiana producenta OEM, jaki jest doklejany do url. Oto co należy zrobić:


  • Wykonać wszystkie kroki opisane w punkcie Przygotowania do pracy
  • W kodzie z punktu Jak podmienić wartości? ustawiamy:


    • _ORG - NOKIA

    • _ZMIANA - HTC

  • Wchodzimy bezpośrednio do Sklepu z linku: Photo Enhancer

  • Otwiera się okno Sklepu...

    ... i instalujemy aplikację.

Dla ułatwienia podaję listę z linkami aplikacji od konkretnych producentów:

Instalacja aplikacji dostępnych tylko dla określonych urządzeń

Na pewno wszyscy kojarzą aplikację Nokia Pro Cam, która wraz z aktualizacją Amber, została udostępniona tylko dla urządzeń Lumia z serii 92x oraz 1020. Nic nie stoi jednak na przeszkodzie, aby pobrać Nokia Pro Cam np. na Lumię 820. W tym celu, podmienimy model urządzenia, jaki przesyłany jest w url. Poszczególne etapy wyglądają następująco:


  • Wykonać wszystkie kroki opisane w punkcie Przygotowania do pracy
  • Zapisujemy nazwę firmwareu urządzenia. Można to zrobić poprzez analizę linka wysyłanego do Sklepu lub prościej, w opcjach: Ustawienia->info+dodatki, klikamy na więcej i spisujemy nazwę z pola Manufacturer Name.
  • W kodzie z punktu Jak podmienić wartości? ustawiamy:


    • _ORG - nazwa_z_manufacturer_name

    • _ZMIANA - RM-877_nam_att_205 (będziemy przestawiać się jako Lumia 1020 od ATT)

  • Wchodzimy bezpośrednio do Sklepu z linku: Nokia Pro Cam

  • Otwiera się okno Sklepu...

    ... i instalujemy aplikację.

Kilka uwag

W ten sposób mamy dostęp do wszelakich aplikacji umieszczonych w Sklepie Windows Phone. Na koniec kilka uwag i porad:


  • Niektóre aplikacje (jak Hub od HTC z zegarkiem w kafelku) wymagają dodatkowych sterowników/plików, stąd nie będą w pełni funkcjonalne na innych, niż dedykowane urządzenia.
  • W ten sposób można również mieć dostęp do aplikacji ograniczonych przez region/język. Wówczas należy ustawić proxy na zagraniczne (może być niebezpieczne!).
  • Internet Explorer i Sklep na Windows Phone posiadają cache z wynikami zwracanymi z serwera, stąd podmiana nie zawsze będzie natychmiast widoczna.
  • W edytowany pliku w Fiddlerze można dodawać własny kod w C#.
  • Pamiętajmy, aby wyłączyć proxy po zakończonej pracy!

Miłego grzebania! :) 

oprogramowanie porady urządzenia mobilne

Komentarze