Modificări pentru versiunea ios și validarea certificatului

Unele aplicații iOS verifică versiunea sistemului de operare de pe dispozitiv. Recent, în timpul testării unei singure aplicații, tocmai m-am confruntat cu un astfel de control. Dacă versiunea iOS era sub 7.1, aplicația nu a fost instalată și a apărut o eroare.







Unele aplicații iOS verifică versiunea sistemului de operare de pe dispozitiv. Recent, în timpul testării unei singure aplicații, tocmai m-am confruntat cu un astfel de control. Dacă versiunea iOS era sub 7.1, aplicația nu a fost instalată și a apărut o eroare.

Acest articol va acoperi următoarele subiecte:

  • Schimbați versiunea iOS în fișierul SystemVersion.plist.
  • Modificați versiunea din fișierul plist care se află în pachetul de aplicații.
  • Utilizați utilitarul "iOS-ssl-Kill switch" pentru a ocoli validarea certificatului.

Schimbați versiunea iOS în fișierul SystemVersion.plist

Versiunea iOS poate fi modificată (pe un dispozitiv de jailbreak) în doi pași simpli prin modificarea valorii corespunzătoare din fișierul SystemVersion.plist:

Modificări pentru versiunea ios și validarea certificatului

Figura 1: Conținutul fișierului SystemVersion.plist

Acest truc vă permite să modificați valoarea afișată în secțiunea "Setări / general / despre". Cu toate acestea, metoda funcționează numai pentru aplicațiile care verifică versiunea din fișierul SystemVersion.plist. Dacă după modificarea versiunii, aplicația încă refuză să funcționeze, utilizați a doua metodă.

Modificați versiunea într-un fișier plist situat în pachetul de aplicații

A doua metodă, care permite modificarea versiunii, constă în trei pași simpli:

  1. Redenumiți fișierul ipa în .zip și despachetați arhiva.
  2. Modificați valoarea versiunii "minime ios" din fișierul info.plist, care se găsește de obicei în dosarul \ Payload \ appname.app.
  3. Împachetăm arhiva și redenumiți-o în ipa. [Notă: unele aplicații verifică valoarea versiunii "minimum ios" în alte fișiere plist din pachet].

Modificări pentru versiunea ios și validarea certificatului






Figura 2: Conținutul fișierului info.plist

După schimbarea fișierelor plist, semnătura pachetului este încălcată. Pentru a rezolva această problemă, trebuie să înregistrați IPA utilizând utilitarul din acest articol.

Unele aplicații verifică versiunea iOS în timpul instalării. Atunci când un utilizator instalează o aplicație utilizând iTunes sau xcode utilizând IPA, este verificată versiunea iOS care rulează pe dispozitiv și dacă versiunea este mai mică decât cea cerută, apare o eroare.

Modificări pentru versiunea ios și validarea certificatului

Figura 3: Eroare întâlnită la instalarea aplicației prin xcode

Un test similar se efectuează și în mai multe etape:

  1. Redenumiți fișierul .ipa în .zip și extrageți directorul .app.
  2. Copiați dosarul .app în cazul în care aplicațiile iOS (/ root / application) sunt instalate utilizând orice client SFTP (de exemplu, WinSCP).
  3. Vă conectăm la dispozitiv prin SSH, mergeți la dosarul în care este instalat IPA, apoi setați drepturile de pornire în directorul .app (chmod -R 755 sau chmod -R 777). Alternativ, faceți clic cu butonul din dreapta pe folderul .app din WinSCP și modificați proprietățile din directorul setând permisiunile corespunzătoare.
  4. După ce dispozitivul iOS se repornește, aplicația va fi instalată cu succes.

Modificări pentru versiunea ios și validarea certificatului

Figura 4: Setarea drepturilor noi pentru director

Bypass Validation Certificate

Uneori este dificil să extragi un certificat din aplicație și să îl instalezi în proxy. O alternativă este folosirea utilitarului ios-ssl-kill-switch. Comutatorul ios-ssl-kill-se află pe API-ul Secure Transport (cel mai mic nivel) și dezactivează validarea certificatului. Cele mai multe verificări utilizează NSURLConnection la un nivel superior. Mai multe detalii pot fi găsite aici.

Verificarea certificatului se face în mai multe etape:

  1. Instalați comutatorul utilitară kill-ssl.
  2. Toate pachetele dependente trebuie instalate în prealabil.
  3. Reporniți dispozitivul sau reporniți SpringBoard cu comanda "killall -HUP SpringBoard".
  4. Instalați opțiunea Dezactivați validarea certificatului în secțiunea "Setări / ștergere SSL".
  5. Reporniți aplicația, după care traficul ar trebui interceptat cu succes.

Aducerea certificatului este ocolită prin conectarea la API care efectuează validarea certificatului și întoarcerea constantă a "adevărului" atunci când este verificată. Pentru a rezolva această problemă, cadrul Mobilesubstrate este destul de potrivit. Există câteva utilități utile pentru a dezactiva legarea, de exemplu, "Trustme" și "Snoop-it".

Modificări pentru versiunea ios și validarea certificatului

Figura 5: Dezactivarea verificării certificatelor în comutatorul de ștergere SSL







Trimiteți-le prietenilor: