აპლიკაცია შეიცავს კოდს Android-ის გვერდის ავლით. Android-ზე root უფლებების მიღება Framaroot-ის საშუალებით კომპიუტერის გარეშე

მთავარი / მუხრუჭები

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

Google ანგარიშის მონაცემების შეყვანა

თუ თქვენს სმარტფონს ან პლანშეტს აქვს მუდმივი კავშირი მეშვეობით უკაბელო ქსელი, მაშინ თქვენ შეგიძლიათ გადაჭრათ დაცვის გვერდის ავლით უბრალოდ შეყვანით ელექტრონული ფოსტის მისამართიდა პაროლი. ეკრანის განბლოკვის 5 წარუმატებელი მცდელობის შემდეგ გამოჩნდება შეტყობინება. დააწკაპუნეთ მასზე და ფანჯარაში, რომელიც გამოჩნდება, შეიყვანეთ თქვენი Google ანგარიშის მომხმარებლის მონაცემები.

რა უნდა გააკეთოთ, თუ დაგავიწყდათ პაროლი ანგარიში Google? დაასრულეთ თქვენს ანგარიშზე წვდომის აღდგენის პროცედურა უშუალოდ მხარდაჭერის დახმარებით.

განბლოკვა მყარი გადატვირთვის საშუალებით

ამ მეთოდის გამოყენებისას ყველა პერსონალური მონაცემი წაიშლება და სმარტფონის სისტემა დაბრუნდება ქარხნულ პარამეტრებში (SD ბარათის ფაილები არ იმოქმედებს). პროცედურის დაწყებამდე სასურველია გქონდეთ სარეზერვო ფაილი, საიდანაც შეძლებთ მომხმარებლის ინფორმაციის აღდგენას.

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


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

ბევრ მომხმარებელს რეალურად აინტერესებს როგორ განბლოკოს Android კომპიუტერის საშუალებით. ამისათვის დაგჭირდებათ ADB უტილიტა, ისევე როგორც თქვენი გაჯეტი, რომელიც დაკავშირებულია USB გამართვის რეჟიმში. დაიცავით შემდეგი ალგორითმი:


adb shellrm /data/system/gesture.key

rm /data/system/locksettings.db;

rm /data/system/locksettings.db-wal;

rm /data/system/locksettings.db-shm;

მოწყობილობის განახლება

თუ Android-ის გატეხვის სხვა გზები რაიმე მიზეზით მიუწვდომელია, მაშინ ა. ეს შეიძლება გაკეთდეს რამდენიმე გზით:

  • კომპიუტერის მეშვეობით USB კაბელის გამოყენებით;
  • აღდგენის მენიუს საშუალებით ნებისმიერ Android მოწყობილობაზე. თქვენ უნდა გამოიყენოთ კომპიუტერი, რომ ჩამოტვირთოთ firmware ფაილი პირდაპირ თქვენი ტელეფონის ან ტაბლეტის მეხსიერებაში.

IN ამ შემთხვევაშიმისი ჩამოტვირთვა შესაძლებელი იქნება არა მხოლოდ ოფიციალური firmware, არამედ სხვადასხვა მორგებული ვარიანტები, რომლებშიც შეიძლება შეიცვალოს დიზაინი, დამცავი ფუნქციები, დრაივერები, კომუნალური და ა.შ.

gesture.key-ის ამოშლა (მუშაობს მხოლოდ გრაფიკული გასაღებით ჩაკეტვისთვის)

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


ზემოთ აღწერილი მრავალი მეთოდი შეუძლებელია ჩამტვირთველის განბლოკვის გარეშე. ამით თქვენ მიიღებთ root უფლებებს და შეძლებთ დააინსტალიროთ თქვენი საკუთარი პროგრამული ვერსია ან მორგებული აღდგენა, ასე რომ სანამ Android-ის დაბლოკვას გატეხავთ, თქვენ უნდა ამოიღოთ ჩამტვირთველის დაცვა. რეკომენდირებულია ამის გაკეთება დაუყოვნებლივ, რათა იყოთ სრულად მომზადებული იმ სიტუაციებში, როდესაც დაგავიწყდათ თქვენი PIN კოდი/ნიმუში.

განბლოკვის ალგორითმი:


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

სუპერმომხმარებლის უფლებების მოპოვება კომპიუტერის დახმარების გარეშე nexus7_2013-ის მაგალითის გამოყენებით.

ინსტრუქციები

  • 1. ჩამოტვირთეთ Towelroot აპლიკაცია.
  • 2. შეამოწმეთ, რომ პარამეტრების/უსაფრთხოების განყოფილებაში არჩეულია ყუთი, რომელიც საშუალებას იძლევა ინსტალაცია უცნობი წყაროებიდან.
  • 3. დააინსტალირეთ შემდეგი გაფრთხილების ყურადღების გარეშე:
  • {
    ჩვენ არ გირჩევთ ამ აპლიკაციის დაყენებას:
    პირსახოცის ფესვი
    ის შეიცავს კოდს Android უსაფრთხოების გვერდის ავლით.
    (მონიშვნის ველი) მაინც დააინსტალირე (მონიშნული არ არის)
    (ღილაკი) არ დააინსტალიროთ
    (ღილაკი) მაინც დააინსტალირეთ
    }
  • 4. მონიშნეთ შესაბამისი ველი და დააწკაპუნეთ შესაბამის ღილაკზე.
  • 5. გახსენით აპლიკაცია და იპოვეთ ღილაკი ე.წ.
    "გააკეთე ra1n"
  • 6. ჩვენ ყურადღებით ვიხსენებთ მის მდებარეობას, მას შემდეგ მოგვიწევს Talkback-ის პაუზა, წინააღმდეგ შემთხვევაში მივიღებთ შეცდომას.
  • 7. დროებით განტვირთეთ TalkBack გლობალური კონტექსტური მენიუდან.
  • 8. ვააქტიურებთ ადგილს, რომელიც გვახსოვდა (5 და 6) პუნქტებში.
  • აქ არ არის საჭირო ორმაგი ჩანართი, საკმარისია მხოლოდ ერთი შეხება.
  • თუ ხელთ გყავთ მნახველი ადამიანი, მაშინ ოპტიმალური იქნება, სთხოვოთ მას ამ მარტივი მოქმედების შესრულება.
  • 9. ველოდებით ცოტა ხანს, დაახლოებით 10-15 წამს, თუ მოწყობილობა არ გადაიტვირთება, მაშინ ამას თავად ვაკეთებთ.
  • 10. დააინსტალირეთ supersu აპლიკაცია.
  • 11. გაუშვით supersu. და ჩვენ ვეთანხმებით ბინარული ფაილის განახლების შეთავაზებას.
  • 12. თუ ყველა ნაბიჯი სწორად არის დასრულებული, მაშინ ტელეფონს ახლა შეუძლია სუპერმომხმარებლის უფლებების გამოყენება.

შენიშვნები:

  • მხარდაჭერილი მოწყობილობების სია Towelroot-ისთვის. მდებარეობს
  • თუ სუპერსუს გაშვების შემდეგ. თქვენ მიიღებთ შეტყობინებას -
    "ორობითი ფაილის განახლება ვერ მოხერხდა"
    შემდეგ გადატვირთეთ თქვენი მოწყობილობა და სცადეთ ხელახლა.
  • თუ ეს არ დაგეხმარათ, მაშინ, სავარაუდოდ, თქვენ არ მიგიღიათ სუპერმომხმარებლის უფლებები ამის გასაკეთებლად, სცადეთ ხელახლა მხედველობის მქონე ადამიანის დახმარებით, გაააქტიუროთ ღილაკი „Make it ra1n“.
  • სუპერმომხმარებლის უფლებების დაყენებამდე, ყურადღებით შეისწავლეთ არასწორად გამოყენებისა და თქვენი მოწყობილობის გარანტიის გაუქმების ყველა დაკავშირებული პრობლემა...

მე არ შემიძლია აპების და თამაშების დაყენება Android-ზე უსაფრთხოების დაბლოკვის გამო.. ეს არ არის პრობლემა ამ სტატიაში თქვენ შეისწავლით თუ როგორ უნდა გახსნათ ინსტალაციაზე წვდომა.

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

არასოდეს დააინსტალიროთ აპლიკაციები და თამაშები უცნობი წყაროებიდან Android-ზე, მით უმეტეს, თუ ისინი ინტერნეტიდან გადმოწერეთ. მაგრამ თუ იცით, რომ ფაილები არის სანდო წყაროებიდან ან აპლიკაციები, რომლებიც მიღებულია Bluetooth-ით სხვა Android-დან, რომელსაც ენდობით, მაშინ შეგიძლიათ განბლოკოთ ინსტალაცია უცნობი აპლიკაციებიდან და გააგრძელოთ ინსტალაცია Android-ზე.

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

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

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

არ დაგავიწყდეთ დატოვოთ მიმოხილვა იმის შესახებ, დაგვეხმარა თუ არა ეს სტატია, გთხოვთ მიუთითოთ მოწყობილობის მოდელი, რომ თქვენც იგივე მიიღოთ სასარგებლო ინფორმაცია Android-ის მომხმარებლებისთვის.

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


06-08-2019
00 საათი 48 წთ.
შეტყობინება:
გამარჯობა, ყველაფერი, რაც თქვენ აღწერეთ თემაზე "Android-ზე, აპლიკაციებისა და თამაშების ინსტალაციისას, ჩნდება შეტყობინება, რომ უცნობი წყაროებიდან ინსტალაცია დაბლოკილია მოწყობილობაზე". წაიკითხეთ რეკომენდაციები დ

13-06-2019
09 საათი 19 წთ.
შეტყობინება:
როგორ წავშალო ადმინისტრატორი?

06-01-2018
დილის 6 საათი 24 წთ.
შეტყობინება:
გმადლობთ! ხო, პრობლემა მაქვს, შეგიძლიათ მითხრათ რა გავაკეთო, თუ დაწერენ: შეცდომა პაკეტის გარჩევისას. რა უნდა გააკეთოს?

02-01-2018
15 საათი 46 წთ.
შეტყობინება:
დახმარება, ტელეფონმა დაბლოკა აპლიკაციის ინსტალაცია არა Play Market-დან, მე გადმოვწერე Chrome-დან, ვაწკაპუნებ გახსნას, მაგრამ არ ინსტალაცია

18-12-2017
11 საათი 11 წთ.
შეტყობინება:
გამარჯობა, ყველაფერი, რაც თქვენ აღწერეთ თემაზე "Android-ზე, აპლიკაციებისა და თამაშების ინსტალაციისას, გამოჩნდება შეტყობინება, რომ უცნობი წყაროებიდან ინსტალაცია დაბლოკილია მოწყობილობაზე". წავიკითხე რეკომენდაციები და იგივე გავაკეთე

31-10-2017
11 საათი. 05 წთ.
შეტყობინება:
ხრიკი იმაშია, რომ ჩემი LG L70 არც მაძლევს უფლებას შევამოწმო ყუთი აკრძალვის მოსახსნელად...

26-09-2017
00 საათი 27 წთ.
შეტყობინება:
გამშვებ ნიშანს ვერ ვაწკაპუნებ, ნიშანზე რომ დავაწკაპუნე, არ ჩამრთო

11-09-2017
03 საათი 37 წთ.
შეტყობინება:
ან შეგიძლიათ დაწეროთ სტატია ასე: აპლიკაციების ან თამაშების დაყენებამდე გადადით ანდროიდის პარამეტრებიდა მოძებნეთ უსაფრთხოების ელემენტი, შემდეგ იპოვეთ უცნობი წყაროების ელემენტი და მონიშნეთ ველი მის გვერდით.

28-03-2017
.. და ცხოვრება გახანგრძლივდება .. თქვენი სნეულის გარეშე 6 აბზაცში.
შეტყობინება:
20 საათი 06 წთ. მე მაქვს მოსანიშნი ველი „დააინსტალირე პროგრამული უზრუნველყოფა უცნობი წყაროებიდან“, მაგრამ ტელეფონი მაინც ბლოკავს ინსტალაციას. Meizu ტელეფონი

17-12-2016
შენიშვნა 3. ეს კარგია? აქამდე არასდროს მქონია საქმე Meizu-სთან.
შეტყობინება:
20 საათი 52 წთ. მაგრამ მე მაქვს სხვა პრობლემა და 15-30 წუთის შემდეგ ეს ელემენტი ყოველთვის უცნობი წყაროდან არის მონიშნული. რაც არ გავაკეთე - გადატვირთვიდან ქარხნულ პარამეტრებამდე,ანტივირუსული პროგრამები

05-12-2016
მე დავაინსტალირე, მაგრამ ის მუდმივად იკეცება. დახმარება!
შეტყობინება:
საღამოს 10 საათი. 52 წთ.

05-12-2016
სოფია, სცადე აპლიკაციის დეინსტალაცია პარამეტრების მეშვეობით და აპლიკაციები შეიძლება გამორთოთ ან მთლიანად წაიშალოს.
შეტყობინება:
საღამოს 10 საათი. 05 წთ.

31-10-2016
დახმარება! თამაში გადმოვწერე უცნობი წყაროდან და ახლა ვერ ვშლი ((
შეტყობინება:
21 საათი 47 წთ.

არის პრობლემა, რომელიც დაკავშირებულია იმ ფაქტთან, რომ (firmware ხარვეზის გამო), პარამეტრებში არ მაქვს წვდომა "უსაფრთხოების" ჩანართზე. ამ ჩანართში შესვლის შემდეგ ის გადააგდებს მას მონას. ცხრილი, გზავნილით, როგორიცაა „პარამეტრების აპლიკაცია არ პასუხობს, როგორ არ გავააქტიურო „მარცხენა“ აპლიკაციების ინსტალაცია პარამეტრების მეშვეობით? Android-ისთვის root უფლებების მოპოვება კომპიუტერის გამოყენების გარეშე და რთულად შესასწავლი პროგრამული ინსტრუმენტების გამოყენების აუცილებლობა საკმაოდ რთულია.ხელმისაწვდომი შესაძლებლობა

. ამ სტატიაში ჩვენ გეტყვით, თუ როგორ უნდა მიიღოთ სუპერმომხმარებლის უფლებები მხოლოდ ორი მარტივი ნაბიჯით Framaroot Android აპლიკაციის გამოყენებით.

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

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

Framarut აპლიკაცია, მოწყობილობის მეხსიერებაში ან მეხსიერების ბარათში ჩამოტვირთვის ან კოპირების შემდეგ, არის სრულიად ჩვეულებრივი apk ფაილი. ინსტალაცია არ საჭიროებს რაიმე განსაკუთრებულ მოქმედებებს, ყველაფერი სტანდარტულია.

ნაბიჯი 2: root უფლებების მიღება

ჩვენ წარმოგიდგენთ რამდენიმე სტატიას, რომლებიც ნათლად აჩვენებენ, თუ რამდენად მარტივია Android-ის აპლიკაციები. ამისთვის დემონტაჟიც კი არ გჭირდებათ, უბრალოდ ჯავისა და სმალიური ენის ზედაპირული ცოდნა. ამიტომ, თუ თქვენი განაცხადისაკმაოდ პოპულარული იქნება, იცოდე: მოიპარება და ფასიანი ფუნქციები მარტივი მანიპულაციებით გააქტიურდება. და თუ გადაწყვეტთ მის მონეტიზაციას რეკლამის გამოყენებით, ის გამოირთვება.

აპლიკაციის დაცვა რთულია, მაგრამ შესაძლებელია. პირველ რიგში, მაშინვე ღირს უარი თქვით Pro/Lite განაწილების მოდელზე. აპლიკაციის ამოღება ძალიან მარტივია სმარტფონიდან, ამიტომ ქურდს მხოლოდ ერთხელ დასჭირდება აპლიკაციის ყიდვა, შემდეგ კი მისი გავრცელება, როგორც არის. მეორეც, თქვენ უნდა იზრუნოთ კოდის საპირისპირო დაცვა. ჯავის კოდის დეკომპილირება მარტივია და ბინარული კოდის შეცვლა არ საჭიროებს რაიმე განსაკუთრებულ უნარებსა და ინსტრუმენტებს. მესამე, თქვენ უნდა დარწმუნდეთ, რომ წარმატებული გატეხვის შემთხვევაშიც კი, აპლიკაცია უბრალოდ არ მუშაობს. მაშინ ჰაკერს მოუწევს ერთდროულად ორი პრობლემის გადაჭრა: აპლიკაციის გატეხვა და გატეხილი ვერსიის მუშაობა.

ასე რომ, ჩვენ ვტოვებთ Pro ვერსიას და ვიწყებთ ბრძოლას.

კოდის დამალვა და დაბნელება

აპლიკაციის კოდის საპირისპიროგან დაცვის საუკეთესო საშუალებაა დაბნელებასხვა სიტყვებით რომ ვთქვათ, ბაიტეკოდის დაბინდვა ისე, რომ რევერსერს გაუსაძლისად გაუჭირდეს მისი გაგება. არსებობს რამდენიმე ინსტრუმენტი, რომელსაც შეუძლია ამის გაკეთება. უმარტივესი, მაგრამ მაინც ეფექტური შედის Android Studio-ში. ეს ProGuard.

მის გასააქტიურებლად, უბრალოდ დაამატეთ ხაზი minifyEnabled true build.gradle ფაილის android → buildTypes → გამოშვების განყოფილებას:

android(...buildTypes(release(minifyEnabled true)...))

ანდროიდი (

. . .

buildTypes (

გათავისუფლება (

minifyEnabled true

. . .

ამის შემდეგ Android Studio დაიწყებს ProGuard-ის მეშვეობით ყველა „გამოშვების“ კონსტრუქციის გადაცემას. შედეგად, აპლიკაცია უფრო კომპაქტური გახდება (გამოუყენებელი კოდის ამოღების გამო) და ასევე მიიღებს გარკვეულ დაცვას უკუსვლისგან. „ზოგი“ იმ გაგებით, რომ ProGuard ჩაანაცვლებს ყველა შიდა კლასის, მეთოდის და ველის სახელებს ერთი ან ორი ასო კომბინაციით. ეს ნამდვილად გაართულებს დეკომპილირებულ/დაშლილ კოდს უფრო რთულ გაგებას.


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

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

ამიტომ, ჩვენ ვეცდებით ამის გაკეთებას საკუთარ თავზე. უმარტივეს შემთხვევაში, ჯავის გამოყენებით სტრიქონების დაშიფვრა ასე ხდება:

საჯარო სტატიკური ბაიტი encryptString (სტრიქონის შეტყობინება, SecretKey საიდუმლო) ავრცელებს გამონაკლისს ( შიფრი = null; შიფრი = Cipher.getInstance ("AES/ECB/PKCS5Padding"); cipher.init (Cipher.ENCRYPT_MODE, საიდუმლო); დაბრუნება cipher.doFinal( message.getBytes ("UTF-8"));

საჯარო სტატიკური ბაიტი encryptString (სტრიქონის შეტყობინება, SecretKey საიდუმლო) აგდებს გამონაკლისს (

შიფრი შიფრი = null ;

შიფრი .init (შიფრა .ENCRYPT_MODE, საიდუმლო);

დაბრუნება შიფრი .doFinal ( message . getBytes ( "UTF-8" ) );

და გაშიფვრა ასეთია:

საჯარო სტატიკური სტრიქონი decryptString (ბაიტი cipherText, SecretKey საიდუმლო) აცილებს გამონაკლისს (შიფრის შიფრი = null; შიფრის = Cipher.getInstance ("AES/ECB/PKCS5Padding"); cipher.init (Cipher.DECRYPT_MODE, საიდუმლო); დააბრუნეთ ახალი სტრიქონი (შიფრა). .doFinal(cipherText), "UTF-8")

საჯარო სტატიკური სტრიქონის გაშიფვრა.

შიფრი შიფრი = null ;

cipher = Cipher .getInstance ("AES/ECB/PKCS5Padding");

შიფრი .init ( შიფრი . DECRYPT_MODE , საიდუმლო ) ;

დააბრუნეთ ახალი სტრიქონი (cipher . doFinal (cipherText) , "UTF-8" );

გასაღების შესაქმნელად, საკმარისია ერთი ხაზი:

საჯარო სტატიკური SecretKey generalKey (სტრიქონის პაროლი) აგდებს გამონაკლისს (დაბრუნების საიდუმლო = ახალი SecretKeySpec(password.getBytes(), "AES"); )

საჯარო სტატიკური SecretKey generateKey (სტრიქონის პაროლი ) აგდებს გამონაკლისს (

დაბრუნების საიდუმლო = new SecretKeySpec(password.getBytes(), "AES");

საქმე იმაშია, რომ დაწეროთ მარტივი დესკტოპის/მობილური აპლიკაციის Java-ში, რომელიც მიიღებს თქვენს ყველა სტრიქონს შეყვანის სახით და გამოიმუშავებს მათ დაშიფრულ ვერსიებს, როგორც გამომავალს. შემდეგი, თქვენ ჩასვით ეს სტრიქონები მთავარ აპლიკაციაში ორიგინალის ნაცვლად და იმ ადგილებში, სადაც მათზე წვდომა გაქვთ, გამოიძახეთ decryptString() ფუნქცია.

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

შეგიძლიათ კიდევ უფრო შორს წახვიდეთ და გამოიყენოთ Android აპლიკაციების დაცვის ერთ-ერთი ყოვლისმომცველი ინსტრუმენტი, როგორიცაა AppSolid. ეს ისევ ძვირია, მაგრამ საშუალებას გაძლევთ დაშიფროთ მთელი აპლიკაცია. ამან ნამდვილად შეიძლება შეაშინოს ბევრი რევერსერი, მაგრამ არსებობს უამრავი ინსტრუმენტი, მათ შორის ფასიანი ჯავის დეკომპილერი JEB, რომელსაც შეუძლია ავტომატურად წაშალოს ასეთი დაცვა.

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

კარგი, ბოლო რამ: აუცილებელია ამოიღოთ (კომენტირება) კოდიდან ყველა ზარი logger-ზე, ანუ ყველა ზარი Log.d(), Log.v() და ა.შ. წინააღმდეგ შემთხვევაში, თავდამსხმელს შეეძლება გამოიყენოს ეს ინფორმაცია აპლიკაციის ლოგიკის გასაგებად.

გატეხეთ გატეხილი აპლიკაცია

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

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

თავად ანდროიდი ადვილად გადაყლაპავს ასეთ აპლიკაციას (ის არ ინახავს ყველა შესაძლო Android დეველოპერების ყველა ციფრული ხელმოწერის მონაცემთა ბაზას), მაგრამ ჩვენ გვაქვს საკუთარი ციფრული ხელმოწერადა ჩვენ შეგვიძლია ამის გადამოწმება!

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

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

დასაწყებად, აპლიკაციაში ჩადეთ კოდის შემდეგი ნაწილი (რაც უფრო ღრმად დამალავთ, მით უკეთესი):

საჯარო სტატიკური სტრიქონი getSignature(კონტექსტური კონტექსტი) ( სტრიქონი apkSignature = null; სცადეთ ( PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES); (ხელმოწერის ხელმოწერის ხელმოწერა:packageInfo). = MessageDigest.getInstance("SHA"); + apkSignature) ) catch (გამონაკლისი ე) () apkSignature )

საჯარო სტატიკური სტრიქონი getSignature (კონტექსტური კონტექსტი) (

სიმებიანი apkSignature = null ;

სცადე (

PackageInfo packageInfo = context.getPackageManager().getPackageInfo(

context.getPackageName(),

PackageManager.GET_SIGNATURES

for (ხელმოწერა :packInfo .ხელმოწერები ) (

MessageDigest md = MessageDigest .getInstance ("SHA");

md.update(signature.toByteArray());

apkSignature = Base64 .encodeToString (md .digest () , Base64 .DEFAULT ) ;

Log .e ("DEBUG" , "SIGNATURE: " + apkSignature ) ;

) დაჭერა (გამონაკლისი ე) ( )

დაბრუნება apkSignature ;

შექმენით, გაუშვით აპლიკაცია და შეხედეთ შესრულების ჟურნალს. იქ ნახავთ ხაზს SIGNATURE: 478uEnKQV+fMQT8Dy4AKvHkYibo=. ეს არის ჰაში. ის არა მხოლოდ უნდა დაიმახსოვროთ, არამედ განთავსდეს განაცხადის კოდში, როგორც მუდმივი, მაგალითად, სახელწოდებით SIGNATURE. ახლა ამოიღეთ Log.e... ხაზი კოდიდან და დაამატეთ შემდეგი მეთოდი:

საჯარო სტატიკური ლოგიკური შემოწმების ხელმოწერა (კონტექსტის კონტექსტი) ( დაბრუნება SIGNATURE.equals(getSignature(კონტექსტი)); )

საჯარო სტატიკური ლოგიკური შემოწმების ხელმოწერა (კონტექსტური კონტექსტი) (

დაბრუნება SIGNATURE .უდრის ( getSignature ( კონტექსტი ) ) ;

ის უბრალოდ შეამოწმებს შენახულ ჰეშს გასაღების ჰეშით, რომელიც არის შიგნით მომენტშიგანცხადება ხელმოწერილია. ფუნქცია აბრუნებს true-ს, თუ ციფრული ხელმოწერა თქვენია (აპლიკაცია არ არის აღდგენილი), და false-ს თუ ის შეცვლილია. რა უნდა გააკეთოთ მეორე შემთხვევაში, თქვენზეა დამოკიდებული. თქვენ შეგიძლიათ უბრალოდ შეწყვიტოთ აპლიკაცია os.exit(0)-ით, ან შეგიძლიათ გააფუჭოთ ის, მაგალითად, მეთოდის გამოძახებით არაინიციალიზებულ ობიექტზე ან წვდომით მასივის არარსებულ მნიშვნელობაზე.

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


ინსტალაციის წყაროს შემოწმება

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

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

საჯარო სტატიკური ლოგიკური checkInstaller(კონტექსტური კონტექსტი) (სტრიქონის საბოლოო ინსტალერი = context.getPackageManager().getInstallerPackageName(context.getPackageName()); დაბრუნების ინსტალერი != null && installer.startsWith("com.android.vending"); )

საჯარო სტატიკური ლოგიკური checkInstaller (კონტექსტური კონტექსტი) (

საბოლოო სტრიქონის ინსტალერი = კონტექსტი .getPackageManager() .getInstallerPackageName(კონტექსტი .getPackageName()) ;

დაბრუნება ინსტალერი != null & amp; გამაძლიერებელი ; & გამაძლიერებელი ; installer.startsWith("com.android.vending");

ჩვეულებისამებრ: მართალია - ყველაფერი კარგადაა, ყალბი - ჰიუსტონ, ჩვენ პრობლემები გვაქვს.

ემულატორის განსაზღვრა

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

ro.hardware=goldfish ro.kernel.qemu=1 ro.product.model=sdk

ro .hardware = ოქროს თევზი

ro .kernel .qemu = 1

ro .პროდუქტი .model = sdk

ამიტომ, ამ ცვლადების მნიშვნელობების წაკითხვის შემდეგ, შეგვიძლია ვივარაუდოთ, რომ კოდი შესრულებულია ემულატორში:

საჯარო სტატიკური ლოგიკური checkEmulator() ( try ( ლოგიკური ოქროს თევზი = getSystemProperty ("ro.hardware"). შეიცავს ("goldfish"); ლოგიკური emu = getSystemProperty("ro.kernel.qemu").length() > 0; ლოგიკური sdk = getSystemProperty("ro.product.model").contains("sdk"); სტრიქონის სახელი) აგდებს გამონაკლისს ( Class sysProp = Class.forName ("android.os.SystemProperties"); return (String) sysProp.getMethod("get", new Class(String.class)).invoke(sysProp, new Object ( სახელი));

საჯარო სტატიკური ლოგიკური შემოწმების ემულატორი() (

სცადე (

© 2024 ermake.ru -- კომპიუტერის შეკეთების შესახებ - საინფორმაციო პორტალი