APK Info Viewer

იხილეთ რა აèს გამოცხადებული Android აპლიკაციის პაკეტში — ვერსია, ნებართვები, კომპონენტები და ხელმოწერის სერტიფიკატები მის ინსტალაციამდე.

მზადაა. ჩააგდეთ APK შესამოწმებლად.

APK-ს ანალიზი ხდება მთლიანად თქვენს მოწყობილობაზე: არაფერი იტვირთება, ფაილი მხოლოდ იკითხება — არასდროს ყენდება ან იშვება.

ხშირად დასმული კითხვები

რა შეიძლება ვისწავლო APK-დან მისი ინსტალაციის გარეშე?

საკმაოდ ბევრი: აპლიკაციის პაკეტის სახელი და ვერსია, საჭირო Android ვერსიები, თითოეული მოთხოვნილი ნებართვა, ეკრანები და ფონური კომპონენტები, პროცესორის ტიპები და სერტიფიკატები, რომლითაც ის იყო ხელმოწერილი.

შეუძლია ამ ხელსაწყოს თქმა, არის თუ არა APK მავნე პროგრამა?

არა — და ფრთხილად იყავით ნებისმიერი ხელსაწყოს მიმართ, რომელიც სწრაფი სკანირებით დასკვნას გვპირდება. აქ თქვენ ღებულობთ ფაქტებს: ნებართვებს, კომპონენტებს, ხელმომწერებს და ჰეშებს. შეადარეთ ისინი დეველოპერის მიერ გამოქვეყნებულს და მიიჩნიეთ მოულოდნელი ნებართვები ან ოფიციალური რელიზისგან განსხვავებული ხელმომწერი ყურადღების მიქცევის მიზეზად.

რომელი ფაილებია მხარდაჭერილი?

ცალკეული APK ფაილები 500 MB-მდე. დაყოფილი პაკეტები (XAPK, APKM) და Android App Bundles (.aab) არის კონტეინერები ან გამოქვეყნების ფორმატები და არა ერთი ინსტალაციადი პაკეტი, ამიტომ ისინი უარყოფილია მკაფიო შეტყობინებით და არა დამაბნეველი ანგარიშით.

რას მეუბნება ხელმოწერის დეტალები?

ყველა Android აპლიკაცია ხელმოწერილია და სერტიფიკატი აიდენტიფიცირებს მის გამომქვეყნებელს. თქვენ ხედავთ, რა ხელმოწერის სქემები აქვს პაკეტს (v1, v2, v3) და თითოეული ხელმომწერის სუბიექტს, მოქმედების ვადას და MD5, SHA-1 და SHA-256 თითის ანაბეჭდებს. ორი APK თანხვედრილი თითის ანაბეჭდებით არის ერთი და იგივე გამომქვეყნებლისგან — ენდობით თუ არა ამ გამომქვეყნებელს, თქვენი გადასაწყვეტია.

რას ნიშნავს “Dangerous” ნიშანი ნებართვაზე?

ეს არის Android-ის საკუთარი კლასიფიკაცია: საშიში ნებართვები წვდებიან პირად მონაცემებს — მდებარეობას, კონტაქტებს, კამერას, მიკროფონს, საცავს — ამიტომ სისტემა ეკითხება მომხმარებელს მინიჭებამდე. ნიშანი არ არის ბრალდება; რუკების აპლიკაცია, რომელიც ითხოვს მდებარეობას, ნორმალურია. ის უბრალოდ აღნიშნავს ნებართვებს, რომლებიც ორჯერ უნდა წაიკითხოთ.

Android აპლიკაციის პაკეტის სტრუქტურა და ანალიზი

Android აპლიკაციის პაკეტი (APK) წარმოადგენს არქივს, რომელიც შეიცავს ოპერაციული სისტემისთვის საჭირო ყველა კომპონენტს აპლიკაციის გასაშვებად. APK Info Viewer საშუალებას გაძლევთ შეამოწმოთ ამ ფაილის შიგთავსი და მეტამონაცემები მის ინსტალაციამდე. ვინაიდან პროცესი სრულდება უშუალოდ ბრაუზერში, ფაილის ანალიზი ხდება მთლიანად თქვენს მოწყობილობაზე: არაფერი იტვირთება, ფაილი მხოლოდ იკითხება — არასდროს ყენდება ან იშვება.

პაკეტის შიდა სტრუქტურის გაგება მნიშვნელოვანია მისი უსაფრთხოების შესაფასებლად. ნებისმიერი სტანდარტული APK შეიცავს AndroidManifest.xml ფაილს, რომელიც განსაზღვრავს აპლიკაციის იდენტობას, სტრუქტურას და მოთხოვნილ ნებართვებს. გარდა ამისა, პაკეტში თავსდება კოდის ფაილები (.dex), რესურსები, აქტივები და ციფრული ხელმოწერები. ამ მონაცემების სტატიკური ანალიზი გვეხმარება პაკეტის რეალური თვისებების დადგენაში მისი გაშვების გარეშე.

ფაილის მიღების წესები და შეზღუდვები

ხელსაწყო მუშაობს კონკრეტული ტექნიკური პარამეტრების ფარგლებში, რათა უზრუნველყოს ბრაუზერის სტაბილური მუშაობა:

  • ფაილის ფორმატი: მიიღება მხოლოდ .apk გაფართოების მქონე ფაილები.
  • ზომის ლიმიტი: მაქსიმალური დასაშვები ზომაა 500 MB. თუ ატვირთული ფაილი აჭარბებს ამ ლიმიტს, სისტემა აჩვენებს შეტყობინებას: "ეს ფაილი 500 MB-ზე მეტია — უფრო დიდი, ვიდრე ბრაუზერის ჩანართს შეუძლია უსაფრთხოდ შეამოწმოს.".
  • რაოდენობა: შესაძლებელია მხოლოდ ერთი ფაილის შემოწმება ერთდროულად. რამდენიმე ფაილის ერთდროულად ატვირთვის მცდელობისას, სისტემა ამუშავებს მხოლოდ პირველ მათგანს და გამოსცემს შენიშვნას: "თითო ჯერზე ერთი ფაილი — მოწმდება პირველი.".

არასწორი ან დაზიანებული ფორმატების ატვირთვისას მოქმედებს შემდეგი წესები:

  • დაყოფილი პაკეტები: XAPK ან APKM ფორმატების ატვირთვისას მიიღებთ შეტყობინებას: "ეს არის XAPK დაყოფილი პაკეტი — რამდენიმე APK-ს კონტეინერი. ამოიღეთ ბაზური APK და შეამოწმეთ ეს ფაილი.".
  • Android App Bundles: .aab ფაილის ატვირთვისას სისტემა აჩვენებს შეცდომას: "ეს არის Android App Bundle (.aab) — გამოქვეყნების ფორმატი და არა ინსტალაციადი APK. შეამოწმეთ აგებული APK.".
  • არათავსებადი ფაილები: თუ ფაილში არ იკითხება ძირითადი სტრუქტურა, გამოჩნდება შეტყობინება: "ეს არ ჰგავს APK-ს: შიგნით ვერ მოიძებნა წაკითხვადი AndroidManifest.xml.".
  • დაზიანებული ფაილები: დაზიანებული ან არასრული პაკეტების შემთხვევაში მიიღებთ შეტყობინებას: "პაკეტი დაზიანებული ან შეკვეცილი ჩანს, ამიტომ მისი შიგთავსი ვერ წაიკითხა.".
  • წაკითხვის სხვა შეცდომები: ზოგადი შეფერხებისას სისტემა აჩვენებს შეტყობინებას "ფაილი ვერ წაიკითხა. თავიდან აირჩიეთ." ან "შემოწმება ვერ მოხერხდა. სცადეთ სხვა ფაილი.".

ინტერფეისის სტატუსები და მუშაობის პროცესი

ანალიზის პროცესში მომხმარებლის ინტერფეისში ეტაპობრივად აისახება შემდეგი სტატუსები:

  1. საწყისი მდგომარეობა: ჩააგდეთ APK აქ ან დააკლიკეთ ასარჩევად (დამატებითი მინიშნებით: ერთი.apk ფაილი, 500 MB-მდე). ამ დროს აქტიურია სტატუსი: "მზადაა. ჩააგდეთ APK შესამოწმებლად.".
  2. ფაილის მიღებისას: "იკითხება ‹name›…".
  3. კრიპტოგრაფიული ჰეშირებისას: "ითვლება ფაილის ჰეშები — ‹percent›%".
  4. პაკეტის სტრუქტურის დამუშავებისას: "მიმდინარეობს პაკეტის ანალიზი…".
  5. დასრულებისას: "ანგარიში მზადაა.".

მონაცემების გასუფთავებისას ეკრანზე ჩნდება შეტყობინება "გასუფთავდა.", ხოლო ანგარიშის შენახვისას — "ანგარიში გადმოწერილია.". მომხმარებელს შეუძლია გამოიყენოს მოქმედების ღილაკები: ანგარიშის ჩამოტვირთვა და გასუფთავება.

ტექნიკური მონაცემების ანალიზი

ანგარიშის გენერირების შემდეგ, ხელსაწყო აჯგუფებს მონაცემებს რამდენიმე ძირითად სექციად:

მოთხოვნები (მოთხოვნები)

ამ სექციაში აისახება აპლიკაციის თავსებადობა ოპერაციულ სისტემასთან:

  • მინიმალური Android: აჩვენებს მინიმალურ ვერსიას ფორმატით Android ‹version› (API ‹level›) ან უბრალოდ API ‹level›.
  • სამიზნე Android: მიუთითებს სამიზნე ვერსიას, რომელიც განსაზღვრავს აპლიკაციის ქცევასა და უსაფრთხოების წესებს კონკრეტულ API დონეზე.
  • მაქს. SDK ‹n›: მიეთითება იმ შემთხვევაში, თუ აპლიკაციას აქვს დაწესებული ზედა ზღვარი.

ნებართვები (ნებართვები)

სისტემა აჩვენებს აპლიკაციის მიერ მოთხოვნილი ნებართვების სრულ სიას. პრიორიტეტის მიხედვით, სიის სათავეში თავსდება ის ნებართვები, რომლებსაც Android-ის კლასიფიკაციით მინიჭებული აქვთ "Dangerous" (სახიფათო) სტატუსი. მათ გვერდით თავსდება სპეციალური ნიშანი: სახიფათო. ეს ნებართვები მოიცავს წვდომას მომხმარებლის პირად მონაცემებზე, როგორიცაა მდებარეობა, კონტაქტები, კამერა ან საცავი.

კომპონენტები (კომპონენტები)

აქ აისახება აპლიკაციის ძირითადი არქიტექტურული ელემენტები, რომლებიც დაჯგუფებულია ოთხ კატეგორიად:

  • Activity-ები (ეკრანები).
  • Service-ები (ფონური პროცესები).
  • Receiver-ები (სისტემური შეტყობინებების მიმღებები).
  • Provider-ები (მონაცემთა მომწოდებლები).

თითოეული კომპონენტისთვის, საჭიროების შემთხვევაში, აისახება სტატუსი ექსპორტირებული. პროვაიდერების შემთხვევაში ასევე მიეთითება მათი ავტორიტეტი (authority), ხოლო მონაცემების არარსებობისას — არცერთი. თითოეულ კატეგორიაში მაქსიმუმ 100 ელემენტი აისახება; ლიმიტის გადაცილებისას სიას ემატება ნიშანი + კიდევ ‹count›.

მშობლიური კოდი (მშობლიური კოდი) და რესურსები (რესურსები)

მშობლიური კოდის სექციაში ნაჩვენებია მხარდაჭერილი პროცესორის ტიპები (ABI) და შესაბამისი ბიბლიოთეკების რაოდენობა. რესურსების სექცია კი ასახავს შემდეგ მონაცემებს:

  • ეკრანის სიმჭიდროვეები.
  • რესურსების ფაილები.
  • რესურსფაილები (Assets).
  • კოდის ფაილები (.dex).
  • ფაილები პაკეტში.

ციფრული ხელმოწერები და ფაილის ჰეშები

უსაფრთხოების შემოწმების უმნიშვნელოვანესი ნაწილია ციფრული ხელმოწერების ანალიზი. ხელსაწყო კითხულობს X.509 სერტიფიკატებს v1 PKCS#7 ბლოკებიდან და APK Signing Blocks (v2, v3, v3.1) სქემებიდან.

სექციაში ხელმოწერები თითოეული ხელმომწერისთვის (ხელმომწერი ‹n›) აისახება:

  • სუბიექტი
  • გამცემი
  • სერიული ნომერი
  • ძალაშია -დან და ძალაშია -მდე
  • ხელმოწერის ალგორითმი და გასაღების ალგორითმი
  • MD5, SHA-1 და SHA-256 სერტიფიკატის თითის ანაბეჭდები.

თუ პაკეტში ხელმოწერის ბლოკი საერთოდ ვერ მოიძებნა, სისტემა გამოსცემს გაფრთხილებას: "აღიარებული ხელმოწერის ბლოკი ვერ მოიძებნა — პაკეტი შესაძლოა ხელმოუწერელი ან თავიდან შეფუთული იყოს.". გაითვალისწინეთ, რომ ხელსაწყო მხოლოდ ახდენს მეტამონაცემების ექსტრაქციას და არ ახორციელებს ხელმოწერების კრიპტოგრაფიულ ვალიდაციას ან გამომცემლის რეალური იდენტობის შემოწმებას.

სექციაში ფაილის ჰეშები მოცემულია თავად APK ფაილის MD5, SHA-1 და SHA-256 ჰეშები, რაც საშუალებას გაძლევთ შეადაროთ ისინი დეველოპერის მიერ ოფიციალურად გამოქვეყნებულ მონაცემებს.


ხშირად დასმული კითხვები

რა შეიძლება ვისწავლო APK-დან მისი ინსტალაციის გარეშე?

საკმაოდ ბევრი: აპლიკაციის პაკეტის სახელი და ვერსია, საჭირო Android ვერსიები, თითოეული მოთხოვნილი ნებართვა, ეკრანები და ფონური კომპონენტები, პროცესორის ტიპები და სერტიფიკატები, რომლითაც ის იყო ხელმოწერილი.

შეუძლია ამ ხელსაწყოს თქმა, არის თუ არა APK მავნე პროგრამა?

არა — და ფრთხილად იყავით ნებისმიერი ხელსაწყოს მიმართ, რომელიც სწრაფი სკანირებით დასკვნას გვპირდება. აქ თქვენ ღებულობთ ფაქტებს: ნებართვებს, კომპონენტებს, ხელმომწერებს და ჰეშებს. შეადარეთ ისინი დეველოპერის მიერ გამოქვეყნებულს და მიიჩნიეთ მოულოდნელი ნებართვები ან ოფიციალური რელიზისგან განსხვავებული ხელმომწერი ყურადღების მიქცევის მიზეზად.

რომელი ფაილებია მხარდაჭერილი?

ცალკეული APK ფაილები 500 MB-მდე. დაყოფილი პაკეტები (XAPK, APKM) და Android App Bundles (.aab) არის კონტეინერები ან გამოქვეყნების ფორმატები და არა ერთი ინსტალაციადი პაკეტი, ამიტომ ისინი უარყოფილია მკაფიო შეტყობინებით და არა დამაბნეველი ანგარიშით.

რას მეუბნება ხელმოწერის დეტალები?

ყველა Android აპლიკაცია ხელმოწერილია და სერტიფიკატი აიდენტიფიცირებს მის გამომქვეყნებელს. თქვენ ხედავთ, რა ხელმოწერის სქემები აქვს პაკეტს (v1, v2, v3) და თითოეული ხელმომწერის სუბიექტს, მოქმედების ვადას და MD5, SHA-1 და SHA-256 თითის ანაბეჭდებს. ორი APK თანხვედრილი თითის ანაბეჭდებით არის ერთი და იგივე გამომქვეყნებლისგან — ენდობით თუ არა ამ გამომქვეყნებელს, თქვენი გადასაწყვეტია.

რას ნიშნავს “Dangerous” ნიშანი ნებართვაზე?

ეს არის Android-ის საკუთარი კლასიფიკაცია: საშიში ნებართვები წვდებიან პირად მონაცემებს — მდებარეობას, კონტაქტებს, კამერას, მიკროფონს, საცავს — ამიტომ სისტემა ეკითხება მომხმარებელს მინიჭებამდე. ნიშანი არ არის ბრალდება; რუკების აპლიკაცია, რომელიც ითხოვს მდებარეობას, ნორმალურია. ის უბრალოდ აღნიშნავს ნებართვებს, რომლებიც ორჯერ უნდა წაიკითხოთ.