APK ֆայլերի ստատիկ վերլուծություն և անվտանգության ստուգում
APK Info Viewer-ը անվճար առցանց գործիք է, որը թույլ է տալիս օգտատերերին մանրամասնորեն ստուգել Android հավելվածի փաթեթի (APK) պարունակությունն ու մետատվյալները նախքան այն սարքում տեղադրելը: Գործիքն ամբողջությամբ աշխատում է օգտատիրոջ վեբ զննարկչի ներսում՝ առանց արտաքին սերվերներ ֆայլեր ուղարկելու: Այն արդյունահանում և ցուցադրում է փաթեթի հիմնական տեխնիկական տվյալները, ինչպիսիք են փաթեթի անունը, տարբերակը, Android-ի պահանջվող տարբերակները, հայցվող թույլտվությունները, ֆոնային և էկրանային բաղադրիչները, պրոցեսորների աջակցվող տեսակները, ստորագրման վկայագրերը և ֆայլի հեշերը:
Այս գործիքը ծառայում է որպես ստատիկ վերլուծության օժանդակ միջոց, որն օգնում է ստուգել APK ֆայլի իրական տվյալները և համեմատել դրանք մշակողի պաշտոնական թողարկումների հետ՝ առանց հավելվածը գործարկելու կամ տեղադրելու: Ստատիկ վերլուծությունը հնարավորություն է տալիս հայտնաբերել կասկածելի տարրերը, օրինակ՝ անսպասելի ֆոնային ընդունիչները կամ արտահանված բաղադրիչները, նախքան դրանք կկարողանան գործել համակարգում:
Մուտքային ֆայլերի պահանջները և սահմանափակումները
Գործիքի ճիշտ աշխատանքի համար անհրաժեշտ է պահպանել հետևյալ կանոնները.
- Մեկ APK ֆայլ. Թույլատրվում է ներբեռնել միայն
.apkձևաչափի ֆայլ: Եթե օգտատերը փորձում է միաժամանակ ներբեռնել մի քանի ֆայլ, համակարգը մշակում է միայն առաջինը և ցուցադրում է հետևյալ ծանուցումը.«Մեկ անգամը մեկ ֆայլ. ստուգվում է առաջինը:»: - Չափի սահմանափակում. Ֆայլի առավելագույն չափը չպետք է գերազանցի 500 MB-ը: Այս սահմանաչափը գերազանցող ֆայլերը մերժվում են հետևյալ սխալով.
«Այս ֆայլը 500 MB-ից մեծ է և գերազանցում է զննարկչի ներդիրի անվտանգ ստուգման սահմանափակումը:»:
Ոչ համատեղելի ձևաչափերի դեպքում գործիքը կիրառում է հետևյալ կանոնները.
- Բաժանված փաթեթները (XAPK, APKM) մերժվում են հետևյալ հաղորդագրությամբ.
«Սա XAPK բաժանված փաթեթ է՝ մի քանի APK-ների կոնտեյներ: Առանձնացրեք հիմնական APK-ն և ստուգեք այդ ֆայլը:». - Android App Bundle ֆայլերը մերժվում են հետևյալ հաղորդագրությամբ.
«Սա Android App Bundle (.aab) է՝ հրապարակման ձևաչափ, այլ ոչ թե տեղադրվող APK: Ստուգեք հավաքված APK-ն:». - Ցանկացած այլ ոչ-APK ֆայլ ներբեռնելիս ցուցադրվում է հետևյալ սխալը.
«Սա նման չէ APK-ի. ներսում չի գտնվել ընթեռնելի AndroidManifest.xml:».
Ֆայլի ընթերցման ընդհանուր խնդիրների դեպքում ցուցադրվում է «Ֆայլը չհաջողվեց կարդալ. Ընտրեք այն նորից:» հաղորդագրությունը, իսկ վնասված կամ կտրատված փաթեթների դեպքում՝ «Փաթեթը վնասված կամ կտրատված է թվում, ուստի դրա պարունակությունը չհաջողվեց կարդալ:»: Այլ անհայտ ձախողումների դեպքում օգտատերը տեսնում է «Ստուգումը ձախողվեց: Փորձեք այլ ֆայլ:» հաղորդագրությունը:
Ինտերֆեյսի կարգավիճակները և գործողությունները
Օգտատիրոջ էկրանին ցուցադրվում են հետևյալ կարգավիճակներն ու հաղորդագրությունները՝ կախված վերլուծության փուլից.
| Գործողության փուլ | Ցուցադրվող հաղորդագրություն |
|---|---|
| Սկզբնական վիճակ | «Պատրաստ է: Գցեք APK-ն՝ այն ստուգելու համար:» |
| Ֆայլի ընդունման դաշտ | «Գցեք APK-ն այստեղ կամ սեղմեք՝ ընտրելու համար» և «Մեկ.apk ֆայլ, մինչև 500 MB» |
| Ֆայլի ընթերցում | «Կարդացվում է ‹name›…» |
| Հեշերի հաշվարկում | «Հաշվարկվում են ֆայլի հեշերը՝ ‹percent›%» |
| Փաթեթի վերլուծություն | «Փաթեթը վերլուծվում է…» |
| Ավարտված վերլուծություն | «Հաշվետվությունը պատրաստ է:» |
| Տվյալների մաքրում | «Մաքրված է:» |
| Հաշվետվության ներբեռնում | «Հաշվետվությունը ներբեռնված է:» |
Օգտատերը կարող է կառավարել արդյունքները երկու հիմնական կոճակի միջոցով՝ «Ներբեռնել հաշվետվությունը» և «Մաքրել»:
Android SDK տարբերակների և պահանջների վերլուծություն
Հաշվետվության «Պահանջներ» բաժնում ցուցադրվում են հավելվածի համատեղելիության սահմանները.
- Նվազագույն Android. Սահմանում է ՕՀ-ի այն ամենացածր տարբերակը, որն անհրաժեշտ է հավելվածի գործարկման համար: Այն ցուցադրվում է որպես
«Android ‹version› (API ‹level›)»կամ պարզապես«API ‹level›»: - Թիրախային Android. Ցույց է տալիս, թե API-ի որ մակարդակի համար է նախագծվել և փորձարկվել հավելվածը: Սա թելադրում է անվտանգության և համակարգային վարքագծի կանոնները տվյալ տարբերակի վրա: Այն նույնպես ցուցադրվում է
«Android ‹version› (API ‹level›)»կամ«API ‹level›»ձևաչափով: - Առավելագույն SDK. Եթե հավելվածն ունի վերին սահմանափակում, այն արտացոլվում է
«առավելագույնը SDK ‹n›»նշումով:
Թույլտվությունների և բաղադրիչների դասակարգում
«Թույլտվություններ» բաժնում արտացոլվում են հավելվածի կողմից հայցվող բոլոր իրավունքները: Ցուցակը տեսակավորվում է այնպես, որ Android-ի կողմից անձնական տվյալների հասանելիություն ունեցող և «Dangerous» դասակարգված թույլտվությունները հայտնվեն վերևում: Դրանց կողքին ցուցադրվում է հատուկ «Վտանգավոր» նշանը:
«Բաղադրիչներ» բաժնում ներկայացվում են հավելվածի ներքին կառուցվածքային տարրերը, որոնք բաժանվում են չորս խմբի.
- Activity-ներ. Էկրանները, որոնց հետ փոխազդում է օգտատերը: Եթե դրանք հասանելի են այլ հավելվածների կողմից գործարկվելու համար, նշվում է
«արտահանված»պիտակը: - Service-ներ. Ֆոնային աշխատանքներ կատարող տարրերը (կարող են ունենալ
«արտահանված»պիտակը): - Receiver-ներ. Համակարգային կամ այլ հավելվածների ազդանշաններն ընդունող տարրերը (կարող են ունենալ
«արտահանված»պիտակը): - Provider-ներ. Տվյալների փոխանակման աղբյուրները: Ցուցադրվում է դրանց հասցեատիրույթը (authority),
«արտահանված»պիտակը կամ«Չկա»նշումը:
Յուրաքանչյուր կատեգորիայի համար ցուցադրվում է առավելագույնը 100 տարր: Եթե տարրերի քանակը գերազանցում է այս սահմանը, ապա ցուցակի վերջում ավելանում է «ևս +‹count›» նշումը:
Ռեսուրսների, հիմնական կոդի և ստորագրությունների ստուգում
«Հիմնական կոդ» բաժնում ներկայացվում են պրոցեսորների աջակցվող տեսակները (ABI) և բնօրինակ գրադարանների քանակը: «Ռեսուրսներ» բաժինը ներառում է հետևյալ տվյալները.
«Էկրանի խտություններ»«Ռեսուրսների ֆայլեր»«Ռեսուրսային ֆայլեր»(Assets)«Կոդի ֆայլեր (.dex)»«Ֆայլեր փաթեթում»
«Ստորագրություններ» բաժնում արտացոլվում են X.509 վկայագրերի տվյալները, որոնք արդյունահանվում են v1 PKCS#7 բլոկներից և APK ստորագրման բլոկներից (v2, v3, v3.1): Յուրաքանչյուր ստորագրողի համար ցուցադրվում են հետևյալ տվյալները.
«Ստորագրող ‹n›»«Սուբյեկտ»«Թողարկող»«Սերիական համար»«Գործում է սկսած»և«Գործում է մինչև»«Ստորագրության ալգորիթմ»և«Բանալու ալգորիթմ»- MD5, SHA-1 և SHA-256 մատնահետքերը:
Եթե փաթեթում ստորագրության բլոկ չի հայտնաբերվում, ցուցադրվում է հետևյալ նշումը. «Ճանաչելի ստորագրության բլոկ չի գտնվել. հնարավոր է փաթեթը ստորագրված չէ կամ վերափաթեթավորված է:»: Գործիքը միայն արդյունահանում է այս մետատվյալները. այն չի իրականացնում ստորագրությունների կրիպտոգրաֆիկ ամբողջականության ստուգում, վկայագրերի վստահության շղթայի վավերացում կամ հրատարակչի իրական ինքնության հաստատում:
«Ֆայլի հեշեր» բաժնում ներկայացվում են բուն APK ֆայլի MD5, SHA-1 և SHA-256 հեշերը, որոնք հաշվարկվում են տեղում:
Տվյալների գաղտնիություն և տեղական մշակում
Անվտանգության և գաղտնիության նկատառումներից ելնելով՝ APK Info Viewer-ն աշխատում է բացառապես օգտատիրոջ սարքի վրա: Ֆայլերի ընթերցումը, հեշերի հաշվարկումը և վերլուծությունը կատարվում են զննարկչի տեղական Worker-ի միջոցով: Ոչ մի տվյալ կամ ֆայլ չի ուղարկվում արտաքին սերվեր