როგორ და როგორ უნდა შეცვალონ Android პროგრამები. ჩვენ ღია, შეცვალეთ და დააკოპირეთ Android აპლიკაციები

ეს არის ისევ და ჩემი ინსტრუქციები ჩაიდანი და ყავა potters ერთად სურათები.

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

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

Გვჭირდება:

  • ფაილი მენეჯერი, რომელსაც შეუძლია მუშაობა root უფლებები და ფაილის ნებართვა. Root Explorer არის საუკეთესო შესაფერისი (თქვენ შეიძინა, დიახ?)
  • შეცვლილი ფაილი თავად, რომელიც ჩვენ გვინდა, რომ ასტერმინალური სადგური (ბმული სტატიის ბოლოს).

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

და დააჭირეთ პუნქტს " ZIP ეს ფაილი"SD ბარათზე ZIP არქივში ფაილის შენახვა. არქივირების შემდეგ, ჩვენ ასეთი გზავნილი მივიღებთ:

Დააჭირეთ ღილაკს " დარჩენა."დარჩენა საქაღალდეში და რაღაც სხვა.

ახლა ყველაფერი მზად არის შეცვალოს ფაილი.
მე უკვე ვლაპარაკობ თითოეული ფაილის ხელმისაწვდომობის შესახებ. ახალი ფაილის შესაქმნელად, თქვენ უნდა დაინახოთ ისინი ძველიდან. ისინი წარმოდგენილია რიგი სიმბოლოებით "rwxrwxrwx". 1 Triad - მესაკუთრის უფლებები, მე -2 - მფლობელი ჯგუფები, მე -3 - ყველა სხვა მომხმარებელი. ჩვენი ფაილი არის უფლება "RW-R - R -".

ახლა გადადით SD ბარათზე, ჩვენ ვნახავთ მოდიფიცირებულ ფაილს და შეარჩიეთ მისი კონტექსტური მენიუდან " ასლი."მაგრამ არ ჩქარობს" / სისტემის / აპლიკაციის "საქაღალდის არჩევისას, რადგან ჩვენ დაუყოვნებლივ მოვახდენთ სისტემას. ნაცვლად ამისა, ფაილის გადაღება სპეციალური საქაღალდე დროებითი ფაილებისათვის" / მონაცემები / ადგილობრივი / TMP ", რათა ფაილი იმით, რომ მიიღებს სისტემას.
დასაწყისისთვის, დარეკეთ ფაილის კონტექსტური მენიუ და აირჩიეთ პუნქტი " გადარქმევა."ფაილების სახელი" Systemui.Apk "- ის სახელია. ეს არის ზუსტად იმიტომ, რომ წერილების Linux- ის რეესტრში სახელით, I." Systemui.apk "და" Systemui.apk "სხვადასხვა ფაილებია.
შემდეგი, თქვენ უნდა შეცვალოთ უფლებები ფაილი, რადგან ახლა ისინი თითქმის რა თქმა უნდა დაუცველი იყოს არასწორი. ამის გაკეთება, კვლავ მოვუწოდებთ ფაილის დიდხანს Tap- ის კონტექსტური მენიუ და აირჩიეთ პუნქტი " ნებართვები"ჩვენი მნიშვნელობა" RW-R - R - "ყუთები უნდა განთავსდეს:

დააჭირეთ " ᲙᲐᲠᲒᲘ."და ისევ მოვუწოდებთ კონტექსტური მენიუ, ახლა თქვენ უნდა შეცვალოთ მფლობელი და ჯგუფი ამ განცხადებისთვის. ამისათვის აირჩიეთ" შეცვალეთ მფლობელები"ფანჯარა გამოჩნდება ინფორმაცია ფაილის ამჟამინდელი მფლობელის შესახებ.
აქ აუცილებელია პატარა უკან დახევას.
საქაღალდეში "/ სისტემა / აპლიკაცია", ყველა ფაილი ფლობს "Root" მომხმარებელს (UID \u003d 0) და ჯგუფი "Root" (GID \u003d 0) და "/ სისტემა / ჩარჩო" ფოლდერი დომინირებს მომხმარებლის "სისტემა" (GID \u003d 1000) და ჯგუფი "სისტემა" (GID \u003d 1000).
ზემოაღნიშნულიდან გამომდინარე, სასურველი ღირებულებები და დააჭირეთ " ᲙᲐᲠᲒᲘ.".
და მესამედ, ზარის კონტექსტური მენიუ ფაილი და აირჩიეთ იგი " ასლი."და ასლი დიალოგში, გადადით" / სისტემაში / აპლიკაციის "საქაღალდეში. ახლა ჩვენ თამამად დააჭირეთ" პასტა."და წაიკითხეთ უფრო ფრთხილად.
თითქმის დაუყოვნებლივ, სისტემა შეაფასებს, რომ სტატუსის სიმებიანი პროცესი მოულოდნელად დასრულდა, და ვარაუდობს, რომ აწარმოებს მას. ყველა მცდელობა წარუმატებელი იქნება. Windows- ის გამოჩენაში უნდა არსებობდეს მთელი რიგი ქმედებები. ღილაკზე დაჭერით, თქვენ უნდა მოვუწოდებთ მოწყობილობას მენიუში, გააფრთხილა. ახლა თქვენ უნდა განათავსოთ თქვენი თითის მარცხენა მხარეს მარცხენა მხარეს. ახლა თქვენ უნდა სწრაფად დაწკაპეთ სამჯერ თქვენი თითის, აქვს დრო, რომ დახუროს გაფრთხილება, აირჩიეთ გამორთვა პუნქტი და დაადასტუროთ თქვენი განზრახვა.
ახლა ჩვენ ველოდებით სატელეფონო გამორთვას, ხელახლა დაიწყებს მას და ისიამოვნებთ შედეგს ან არ სარგებლობენ შეცდომას.

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

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

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

შეცვალეთ გრაფიკა Android სისტემის პროგრამებში

იმისათვის, რომ უბრალოდ შეცვალონ ან შეცვალონ ორიგინალური გრაფიკა (შეცვალეთ ღილაკების ფერი, გადაღება სურათები და ა.შ.), საკმარისია სტანდარტული კომპიუტერი winrar Archiver. მოწყობილობაზე, ამავე დროს, მომხმარებელს უნდა ჰქონდეს რუთის უფლებები (ანალოგი ანგარიში ადმინისტრატორს Windows- ზე) და ასევე სასურველია ალტერნატიული აღდგენა (CWM) და Root Exploiter (ANDroid ფაილური სისტემის წვდომა პირდაპირ მოწყობილობაზე).

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

შემდეგ თქვენ ასევე უნდა ჩამოტვირთოთ ADB- დან Plug-Plane ინტერნეტში. ეს მოდული საშუალებას გაძლევთ ნახოთ მთელი Android სისტემა, როგორც დაკავშირებული დისკი ფოლდერები. ყველა სისტემის აპლიკაცია მდებარეობს მისამართზე / სისტემაში / აპლიკაციაში, ასევე / სისტემაში / ჩარჩოში. სასურველი განაცხადის მოძიება, უბრალოდ დააკოპირეთ კომპიუტერთან. იმ შემთხვევაში, თუ მოდული არ არის დამონტაჟებული, შეგიძლიათ დააკოპიროთ აპლიკაცია APK- ის გაფართოებით Rut-Explorer- ის გამოყენებით, შემდეგ კი უკვე კომპიუტერიდან.

კოპირების შემდეგ ასეთი პროგრამა თქვენ შეგიძლიათ გააგრძელოთ რედაქტირება გრაფიკა. სხვათა შორის, Android აპლიკაციებში ყველა სურათები ინახება PNG ფორმატში, რომელიც ადვილად გახსნილია ნებისმიერი გრაფიკული რედაქტორის მიერ. გახსენით განაცხადის ფაილი WinRAR- ის გამოყენებით, თქვენ შეგიძლიათ ნახოთ რამდენიმე ფოლდერები. ჩვენ მხოლოდ დაინტერესდება RES საქაღალდეში, რომელიც აღმოჩნდება, თავის მხრივ, ბევრი სხვადასხვა ფოლდერები. აქედან მხოლოდ მათთვის, ვისაც აქვს სიტყვა "drawable" მათი სახელით.

ახლა მახსოვს ჩვენი მოწყობილობის ტიპი და მისი ეკრანის რეზოლუცია. თუ ეს არის სმარტფონი, და რეზოლუცია 240x320, მაშინ ჩვენ დაინტერესდება draftable და draftable-ldpi საქაღალდეში. თუ 320x480- ის რეზოლუცია, შესაბამისად, სათანადოდ, Hattable-MDPI საქაღალდე, და 480x800 - HDPEPI- ს საქაღალდეების მოგვარების მიზნით. გარდა ამისა, ორივე ფოლდერები ასევე იმყოფებიან, რომლის სათაურში არსებობს სიტყვა "მიწა" - ეს არის პორტრეტის რეჟიმის გრაფიკა, ანუ. როდესაც მოწყობილობა tilted.

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

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

რედაქტირების შემდეგ, საქაღალდე დასრულებულია, თქვენ უნდა ჩამოტვირთოთ უკან არქივში, რომელიც არის აპლიკაცია APK- ის გაფართოებით. ამავდროულად, აუცილებელია აირჩიოს ვარიანტი "შეკუმშვის გარეშე" WinRAR- ში.

შესაბამისი აპლიკაცია ხელს უწყობს მოწყობილობას ან ფესვის ექსპლოატრატორის გამოყენებას (პირველი ფაილი გადაწერილია SD ბარათზე, და მისგან უკვე მოწყობილობიდან), ან აღდგენის შემდეგ - დაუყოვნებლივ კომპიუტერიდან Folder / System / აპლიკაცია ან / სისტემა / ჩარჩო. შემდეგი, აუცილებელია შეიქმნას შესაბამისი ვარიანტი გამოყენებით Rut-Explorer ან ADB ნებართვების მოდული. ისინი უნდა იყვნენ ფორმატში 644. მოწყობილობის გადატვირთვის შემდეგ, თქვენ შეგიძლიათ ნახოთ განახლებული აპლიკაციის ოპერაციის შედეგი.

სისტემური პროგრამების კოდის რედაქტირება

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

1) დააინსტალირეთ აუცილებელი პროგრამული პაკეტი თქვენს კომპიუტერში. ბოლო ვერსიები: Java SE Runtime გარემო და Android SDK Windows. (პროგრამები და მათი კომპონენტები), apktool ან apkmanager ან firmware_tool (ერთი სამი disassembly და decompiling სისტემის პროგრამები), Notepad ++ რედაქტორი (შეიტანოს ცვლილებების კოდექსში Android სისტემის პროგრამები).

2) ჩართეთ მოწყობილობა "USB- ის მიერ DEBUG", დაკავშირება კომპიუტერთან USB კაბელის გამოყენებით, საჭიროა მოწყობილობისთვის საჭირო მძღოლების დამონტაჟება.

3) განაცხადის კოდით მუშაობის ერთ-ერთი ზემოაღნიშნული პროგრამების გამოყენებით, თქვენ უნდა მოიხსნას პროგრამის ფოლდერის / სისტემის / ჩარჩოების (სრულად) და სისტემის აპლიკაციების შესაბამისი საქაღალდეში. მაგალითად, Firmware_Tool პროგრამისთვის, ტელეფონით ფაილები უნდა გადაეცეს საქაღალდეში C: firmwaretoolfw_project1_source2_system.Img_unponed შესაბამისი subfolders (აპლიკაციები - აპლიკაციის საქაღალდეში, ფაილების ჩარჩო) - ჩარჩო საქაღალდეში). ამ და სხვა პროგრამების გამოყენებისას, მათთვის ინსტრუქციები უნდა წაიკითხოთ.

4) დააინსტალირეთ "საცნობარო ჩარჩო", ანუ. წესების კომპლექტი, რომლის მიხედვითაც ჩატარდება დეკომპროდუქცია (I.E. კოდი disassembly) და შედგენა (I.E. კოდექსის ასამბლეის) პროგრამები.

ამ მომზადების სისტემის აპლიკაციებთან მუშაობისთვის.

ატვირთეთ აპლიკაციები მოწყობილობიდან და ჩამოტვირთეთ მათ უკან მსგავსი პროცედურა, რომელიც აღწერილია "Android System Applications- ში".

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

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

პროგრამების Android პლატფორმა არის ერთადერთი ფაილი apk გაფართოება, რომელიც ძალიან მოსახერხებელია. სინამდვილეში, სმარტფონის ან ტაბლეტის ნებისმიერი პროგრამის ინსტალაცია მოდის ქვემოთ მარტივი კოპირება თქვენს გაჯეტზე. რა არის apk ფაილი და როგორ შემიძლია ვნახო რა შიგნით?

რა არის apk ფაილი?

APK აბრევიატურა არის Android პაკეტის ნაკრები - Android აპლიკაციებისთვის ფაილების შესრულებადი პაკეტი. ეს არის არქივი შემცველი შედგენილი და მზა კოდები და სხვა რესურსები. Apk ფაილი ინახება ინტერნეტში, როგორიცაა Google Play.სად შემიძლია ჩამოტვირთოთ და დააინსტალიროთ მათ თქვენი gadget. ისინი არ ექვემდებარებიან კოდირებას.

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

APK ფაილი თავად არის ჩვეულებრივი არქივი, რომ თქვენ შეგიძლიათ გახსნათ ნებისმიერი არქივში windows გარემო. მაგალითად, WinRAR, ან Ფაილის მენეჯერირომელიც იხსნება zip- არქივები. მოდი ვნახოთ, რა არის შიგნით.

  • შესრულებადი ფაილი Dex გაფართოების (სახელი შეიძლება იყოს), რომელიც მხოლოდ კოდი კოდი.
  • მას შემდეგ, რაც მასშია რესურსები.არსკი, ეს არის რესურსი რეესტრი, რომ პროგრამა უნდა გამოიყენოს. ეს არის სტრუქტურა XML ფორმატში.
  • AndroidManifest.xml არის ნებისმიერი პროგრამის სავალდებულო ფაილი, მანიფესტი, რომელიც შეიცავს ძირითად ინფორმაციას. მაგალითად, პროგრამის ვერსია, Android- ის სასურველი ვერსია, დეველოპერის მონაცემები, აუცილებელი ეკრანის რეზოლუციები და ასე შემდეგ შეიძლება ჩაიწეროს.
  • RES დირექტორია შეიცავს შიდა რესურსებს, რომლებიც საჭიროებენ პროგრამას. შეიძლება იყოს ყველა სურათი, სამკერდე, ხატები, ბარათები, და ასე შემდეგ.
  • Lib Catalog - მშობლიური ბიბლიოთეკები პროგრამისთვის, მაგალითად, C ++ კოდი. ეს დირექტორია არ შეიძლება დაკარგული, თუ ბიბლიოთეკები არ გამოიყენება.
  • აქტივების დირექტორია - დამატებითი რესურსები განაცხადისთვის, ასევე შეიძლება არ იყოს. რა სახის რესურსები უნდა იქნას გამოყენებული, აღწერილია რესურსებში.
  • მეტა-INF კატალოგი - პროგრამის მეტამონაცემები. მაგალითად, მანიფესტი MMF ფაილი, რომელშიც შეიძლება იყოს გზები მონაცემები და მათი ჩეკები. RSA სერტიფიკატის ფაილი შეიძლება ინახებოდეს აქ, ინფორმაცია მანიფესტი-ვერსიის ვერსიის შესახებ, და როგორც ბიზნესის ინფორმაცია.

პოპულარული რედაქტორების კიდობანი ფაილების მიმოხილვა

როგორც უკვე აღინიშნა, თქვენ შეგიძლიათ გამოიყენოთ apk ფაილის ნებისმიერი zip-archiver. ამის შემდეგ, თქვენ შეგიძლიათ ინახებოდეს რესურსების ნახვა.

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

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

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

APK Downloader. ეს არის მოდული ბრაუზერი Chrome., რომელიც საშუალებას აძლევს ადვილად ჩამოტვირთვის APK პროგრამების ნებისმიერ საიტებზე და მათი სტრუქტურის ნახვა. ამისათვის თქვენ შეგიძლიათ დარეგისტრირდეთ Google Play- ზე.

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

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

შესავალი

ამ სტატიაში ჩვენ ვსაუბრობთ იმაზე, თუ როგორ უნდა დაიშალოს apk პაკეტი განაცხადით, განიხილოს მისი შიდა სტრუქტურა, დაიშალა და დეკომპილიტაცია byte კოდი, და ცდილობენ რამოდენიმე ცვლილება განაცხადების, რომ შეიძლება მოუტანს us ან სხვა.

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

ასე რომ, რა არის პაკეტი apk, რომელიც მოიცავს აბსოლუტურად ყველა პროგრამული უზრუნველყოფა Android?

დეკომპილირების პროგრამები

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

  • dex2jar - Dalvik Byte- კოდი მთარგმნელი JVM Byte კოდექსში, რომლის საფუძველზეც ჩვენ შეგვიძლია მივიღოთ კოდი Java ენაზე;
  • jD-GUI არის decompiler თავად, რომელიც საშუალებას გაძლევთ მიიღოთ იკითხება Java კოდი JVM Byte- კოდი. გარდა ამისა, თქვენ შეგიძლიათ გამოიყენოთ JAD (www.varaneckas.com/jad); მიუხედავად იმისა, რომ ეს საკმაოდ ძველია, მაგრამ ზოგიერთ შემთხვევაში უფრო მეტი იკითხება, ვიდრე JD-GUI.

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

Dex2jar.sh mail.apk.

შედეგად, Mail.jar Java პაკეტი გამოჩნდება მიმდინარე მცოდნე, რომელიც უკვე გაიხსნება JD-GUI Java Code- ის სანახავად.

Apk პაკეტის მოწყობილობა და მიღების მათ

ფუთა android პროგრამებისინამდვილეში, ეს არის ჩვეულებრივი zip ფაილი, სანახავად შინაარსი და unpacking რომელთაგან არ არის საჭირო სპეციალური ინსტრუმენტები. საკმარისია არქივატორი - 7zip for Windows ან Console Unzip in Linux. მაგრამ ეს ეხება შეფუთვას. რა შიგნით? შიგნით, ჩვენ ზოგადად გვაქვს ასეთი სტრუქტურა:

  • მეტა- inf / - შეიცავს ციფრულ სერტიფიკატს მისი შემოქმედების დამადასტურებელი განაცხადის და პაკეტის ფაილების შემოწმების რაოდენობით;
  • rES / - სხვადასხვა რესურსები, რომ განაცხადი იყენებს თავის საქმიანობას, როგორიცაა გამოსახულებები, ინტერფეისის დეკლარაციული აღწერილობა, ისევე როგორც სხვა მონაცემები;
  • Androidmanifest.xml. - განაცხადის აღწერა. ეს მოიცავს, მაგალითად, საჭირო ნებართვების ნუსხა საჭირო android version და საჭირო ეკრანის რეზოლუცია;
  • classes.dex. - შედგენილი Byte განაცხადის განაცხადის Dalvik ვირტუალური მანქანა;
  • რესურსები. - ასევე რესურსები, მაგრამ სხვა სახის - კერძოდ, ხაზები (დიახ, ეს ფაილი შეიძლება გამოყენებულ იქნას რუსიფიკაციისთვის!).

ჩამოთვლილი ფაილები და დირექტორიები, თუ არა, მაშინ, ალბათ, აბსოლუტური უმრავლესობის apk. თუმცა, აღსანიშნავია რამდენიმე არ არის იმდენად საერთო ფაილი / დირექტორიები:

  • აქტივები. - რესურსების ანალოგი. ძირითადი განსხვავებაა რესურსის ხელმისაწვდომობა. აუცილებელია მისი იდენტიფიკატორი, აქტივების სია შეიძლება მიღებულ იქნას AssetManager.List () მეთოდის გამოყენებით განაცხადის კოდექსში;
  • კბილი - მშობლიური Linux ბიბლიოთეკები დაწერილი გამოყენებით NDK (მშობლიური განვითარების ნაკრები).

ეს კატალოგი იყენებს თამაშის მწარმოებლებს, თამაშის ძრავას, დაწერილი C / C ++, ასევე მაღალი ხარისხის პროგრამების შემქმნელები (მაგალითად, Გუგლ ქრომი.). მოწყობილობა გაერკვია. მაგრამ როგორ მივიღოთ ინტერესის გამოყენების პაკეტის ფაილი? მას შემდეგ, რაც მოწყობილობისაგან არ არის შესაძლებელი APK ფაილები, შეუძლებელია (ისინი მოტყუება / მონაცემების / აპლიკაციის დირექტორიაში), და ეს ყოველთვის არ არის შესაბამისი გაუმკლავდეს, არსებობს მინიმუმ სამი გზა, რათა მიიღოთ განაცხადის ფაილი კომპიუტერთან:

  • aPK Downloader Extension for Chrome;
  • განაცხადის რეალური apk leecher;
  • სხვადასხვა ფაილის გაზიარება და lumpy.

რომელი გამოყენება არის გემოვნების საკითხი; ჩვენ ურჩევნია გამოიყენოს ცალკეული პროგრამები, ამიტომ ჩვენ აღწერს რეალური apk leecher- ის გამოყენებას, განსაკუთრებით, როგორც ჯავას შესახებ დაწერილია და, შესაბამისად, ის იმუშავებს Windows- ში, ნიქსშიც კი.

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

მას შემდეგ, რაც შევსების და გადარჩენის, გაგზავნა "შეცდომა ხოლო დაკავშირების სერვერზე" pops up. ეს არ არის დაკავშირებული Google Play- თან, ამიტომ თამამად ის უგულებელყოფს მას და ეძებთ პაკეტებს.

ნახვა და მოდიფიკაცია

დავუშვათ, რომ თქვენ იპოვეს პაკეტი, რომელიც თქვენ, გადმოწერილი, დაუცველი ... და როდესაც ცდილობს XML ფაილის სანახავად, გაოცებული იყო, რომ ფაილი არ არის ტექსტი. რა უნდა decompile და როგორ მუშაობა პაკეტები? მართლაც აუცილებელია SDK- ს? არა, SDK არ არის საჭირო. სინამდვილეში, ყველა ნაბიჯის გადადგმა, შეცვალოს და პაკეტის შეფუთვა APK გვჭირდება შემდეგი ინსტრუმენტები:

  • archiver zip. გაუქმებისა და ძიებისათვის;
  • სმილი. - Assembler / Disassembler Byte- კოდი Dalvik ვირტუალური მანქანა (Code.Google.com/p/smali);
  • aAPT. - რესურსების ინსტრუმენტი (ნაგულისხმევი რესურსებით ინახება ორობითი ფორმით აპლიკაციის ოპტიმიზაციისთვის). იგი შედის Android SDK- ში, მაგრამ შეიძლება მიღებული იყოს ცალკე;
  • ხელმომწერი. - შეცვლილი პაკეტის ციფრული ხელმოწერის ინსტრუმენტი (bit.ly/rmrv4m).

თქვენ შეგიძლიათ გამოიყენოთ ყველა ეს ინსტრუმენტი ინდივიდუალურად, მაგრამ ეს არასასიამოვნოა, ამიტომ უმჯობესია გამოიყენოთ მათზე აშენებული უმაღლესი დონის პროგრამული უზრუნველყოფა. თუ მუშაობთ Linux- ში ან Mac OS X- ში, მაშინ არსებობს ინსტრუმენტი, რომელსაც უწოდებენ apktool. ეს საშუალებას გაძლევთ გააგზავნოთ რესურსების გამოყენება ორიგინალური ტიპის (მათ შორის ორობითი XML და ARSC ფაილები), შეცვალეთ პაკეტი მოდიფიცირებული რესურსებით, მაგრამ არ იცის, თუ როგორ უნდა გააფორმოს პაკეტები, ამიტომ გაუშვით ხელმომწერი კომუნალური ხელით ხელით. მიუხედავად იმისა, რომ სასარგებლოა ჯავაში სასარგებლო, მისი ინსტალაცია საკმაოდ არასტანდარტულია. პირველი თქვენ უნდა მიიღოთ jar ფაილი თავად:

$ CD / TMP $ wget http://bit.ly/wc3oCz $ tar -xjf apktool1.5.1.tar.bz2

$ Wget http://bit.ly/wrjec7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2

$ MV Apktool.Jar ~ / Bin $ MV APKTool-Install-Linux-R05-IBOT / * ~ / Bin $ ექსპორტის გზა \u003d ~ \u200b\u200b/ ბინ: $ PATH

თუ თქვენ მუშაობთ Windows- ში, მაშინ ეს არის შესანიშნავი ინსტრუმენტი, რომელსაც უწოდებენ ათი სტუდია, რომელიც ასევე აგროვებს ყველა ამ ინსტრუმენტს (მათ შორის Apktool თავად), მაგრამ CLI ინტერფეისის ნაცვლად მომხმარებელს ინტუიციურად გასაგებია გრაფიკული ინტერფეისირომელთანაც შეგიძლიათ შეასრულოს ოპერაციები unpacking, disassembling და decompiling შევიდა რამდენიმე დაწკაპუნებით. ეს შემოწირულობის იარაღად ინსტრუმენტი, რომელიც არის, ზოგჯერ ფანჯრები წინადადებას მიიღებს ლიცენზიის მისაღებად, მაგრამ ეს არის, საბოლოო ჯამში, შეგიძლიათ განიცდიან. ეს არ არის რაიმე წერტილი აღწერს მას, რადგან თქვენ შეგიძლიათ გაიგოთ ინტერფეისი რამდენიმე წუთში. მაგრამ apktool, მისი კონსოლი ბუნების გამო, უფრო დეტალურად უნდა განიხილებოდეს.


განვიხილოთ apktool პარამეტრები. მოკლედ, არსებობს სამი ძირითადი ბრძანებები: D (decode), B (BUILD) და თუ (ინსტალაცია ჩარჩო). თუ ყველაფერი პირველი ორი გუნდისთვის ნათელია, რას აკეთებს მესამე პირობითი ოპერატორი? ეს unpacks მითითებული UI ჩარჩო, რომელიც აუცილებელია იმ შემთხვევებში, როდესაც თქვენ აჩვენებს ნებისმიერ სისტემის პაკეტს.

განვიხილოთ პირველი გუნდის ყველაზე საინტერესო ვარიანტები:

  • -s. - არ დაიშალა Dex ფაილები;
  • -რ. - არ გამოიყენოთ რესურსები;
  • -ბ. - DEX ფაილის დარღვევის შედეგების შესახებ DEBUG- ის ჩასმა;
  • -Frame- გზა - გამოიყენეთ მითითებული UI ჩარჩო ნაცვლად ჩაშენებული apktool. ახლა განიხილეთ რამდენიმე ვარიანტი B გუნდისთვის:
  • -F. - იძულებითი ასამბლეა ცვლილებების შემოწმების გარეშე;
  • -. - მიუთითეთ AAPT- ის გზა (ინსტრუმენტი APK- არქივის შესაქმნელად), თუ გსურთ გამოიყენოთ იგი სხვა წყაროდან რაიმე მიზეზით.

Apktool არის ძალიან მარტივი, საკმარისია განსაზღვროს ერთ-ერთი ბრძანებები და APK- ის გზა, მაგალითად:

$ apktool d mail.apk

ამის შემდეგ, ყველა მოპოვებული და disassembly პაკეტი ფაილი გამოჩნდება ფოსტის დირექტორიაში.

მომზადება. გამორთეთ რეკლამა

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


ასე რომ, ერთი შემდეგი მეთოდით, ჩამოტვირთეთ განაცხადის ბაზარზე. თუ გადაწყვეტთ გამოიყენოთ სათნო ათი სტუდია, უბრალოდ გახსენით apk ფაილი განაცხადის და unpack მას, რა უნდა შექმნათ პროექტი (ფაილი -\u003e ახალი პროექტი), აირჩიეთ იმპორტის ფაილი კონტექსტური მენიუში. თუ თქვენი არჩევანი apktool- ზე დაეცა, საკმარისია ერთი ბრძანების შესრულება:

$ apktool d com.kauf.particle.virtualtorch.apk

ამის შემდეგ, com.kauf.particle.virtualtorch დირექტორია გამოჩნდება ფაილის ხე მსგავსი, რომ აღწერილი წინა განყოფილებაში, მაგრამ სურვილისამებრ სმილის დირექტორია ნაცვლად Dex ფაილი და apktool ფაილი .YML. პირველი შეიცავს განაცხადის შესრულებადი DEX ფაილის disassembly განაცხადის კოდს, მეორე - APKTool- ის მიერ საჭირო სერვისის ინფორმაცია, რათა შეიქმნას პაკეტი.

პირველი ადგილი, სადაც უნდა გამოიყურებოდეს, რა თქმა უნდა, androidmanifest.xml. და აქ ჩვენ დაუყოვნებლივ აღვნიშნავთ შემდეგ ხაზს:

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

$ apktool b com.kauf.particle.virtualtorch

Com.kauf.particle.virtualtorch / build / build / build / build / build / build / აშენება / გამოჩნდება. თუმცა, არ იქნება შესაძლებელი, რომ დააინსტალიროთ, რადგან მას არ გააჩნია ციფრული ხელმოწერა და კონტროლის თანხები ფაილები (არ არის უბრალოდ არ Meta-INF დირექტორია). ჩვენ უნდა მოვაწეროთ პაკეტი apk- სიგნერის კომუნალური გამოყენებით. დაიწყო. ინტერფეისი შედგება ორი ჩანართებისგან - პირველი (ძირითადი გენერატორი) ჩვენ შევქმნით ღილაკს მეორეზე (APK Signer). ჩვენი პირადი გასაღების შესაქმნელად, შეავსეთ შემდეგი სფეროები:

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

დანარჩენი სფეროები, ზოგადად, არის სურვილისამებრ - მაგრამ აუცილებელია მინიმუმ ერთი შეავსოთ.


გაფრთხილება

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

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

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

ინფორმაცია

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

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

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

როგორც წესი, განაცხადის ავტორები ქმნიან სპეციალურ კლასებს რეკლამის რეკლამისთვის და ამ კლასების მეთოდების მიზეზების შესახებ განაცხადის დაწყებისას ან მისი "საქმიანობის" (მარტივი საუბრისას "აპლიკაციის ეკრანებზე). შევეცადოთ იპოვოთ ეს კლასები. ჩვენ მივდივართ სმილის დირექტორია, მაშინ COM (ORG მხოლოდ ღია Cocos2D Graphics Graphics Library), შემდეგ კი Kauf (ეს არის, რადგან ეს არის დეველოპერის სახელი და ყველა მისი კოდი) - და აქ არის, მარკეტინგის კატალოგი. შიგნით, ჩვენ ვნახავთ bunch of ფაილი გაფართოების სმალი. ეს არის კლასები და ყველაზე მნიშვნელოვანი კლასის Ad.Smali ყველაზე აღსანიშნავია, რომლის სახელიც არ არის რთული, რომ ის რეკლამას მოაქვს.

ჩვენ შეგვიძლია შევცვალოთ მისი მუშაობის ლოგიკა, მაგრამ ბევრად უფრო ადვილი იქნება სულელურად ამოიღონ ნებისმიერი მეთოდების გამოწვევები აპლიკაციისგან. ამიტომ, ჩვენ დავტოვებთ მარკეტინგის დირექტორიაში და გადადით მიმდებარე ნაწილაკების დირექტორიაში, შემდეგ კი Virtualtorch. განსაკუთრებული ყურადღება აქ არის mainactivity.smali ფაილი. ეს არის Android Class- ის სტანდარტი, რომელიც შექმნილია Android SDK- ის მიერ და დამონტაჟებულია განაცხადის შეყვანის წერტილად (ძირითადი ფუნქციის ანალოგი C). გახსენით ფაილი რედაქტირება.

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

საველე პირადი რეკლამა: LCom / Kauf / Marketing / AD;

რეკლამის სფეროში შექმნილია კლასის რეკლამის ობიექტის შენახვისთვის. მოდით გავაკეთოთ კომენტარი ### ნიშანი მითითებული ადრე სიმებიანი. ჩვენ ვაგრძელებთ ძებნას. Row 423:

ახალი ინსტანცია v3, lcom / kauf / მარკეტინგი / რეკლამა;

აქ არის ობიექტის შექმნა. კომენტარი. ჩვენ ვაგრძელებთ ძებნას და მოძებნოთ ხაზები 433, 435, 466, 468, 738, 740, 800 და 802 საჩივრები კლასების რეკლამის მეთოდებზე. კომენტარი. ასე გამოიყურება ეს. ჩვენ გადარჩენა. ახლა პაკეტი უნდა შეგროვდეს უკან და შეამოწმოთ მისი შესრულება და რეკლამის ხელმისაწვდომობა. ექსპერიმენტის სიწმინდისთვის, ჩვენ დავბრუნდებით დისტანციურად AndroidManifest.xml სიმებიანი, შეაგროვოს პაკეტი, გამოწერა და ინსტალაცია.

ჩვენი ექსპერიმენტული კურდღელი. რეკლამირება

Op-pa! რეკლამირება მხოლოდ განაცხადის დროს გაქრა, მაგრამ მთავარი მენიუში დარჩა, რომ ჩვენ ვხედავთ, როდესაც ჩვენ რბილია. ასე რომ, დაველოდოთ, მაგრამ ყოველივე ამის შემდეგ, შესვლის წერტილი არის ძირითადი კლასი და რეკლამა გაუჩინარდა განაცხადის დროს, მაგრამ მთავარი მენიუში დარჩა, მაშინ შესვლის წერტილი განსხვავებულია? ჭეშმარიტი შესვლის წერტილის გამოსავლენად, გახსენით androidmanifest.xml ფაილი. და დიახ, მას აქვს შემდეგი ხაზები:

ისინი გვეუბნებიან (და, რაც მთავარია, Android), რომ სახელით დაწყების შესახებ აქტივობა უნდა იყოს გაშვებული საპასუხოდ (მოვლენები) Android.Intent.Action.Action.Action.Antent.Intent.Category.launcher. ეს ღონისძიება გენერირდება, როდესაც lancher- ში განაცხადის ხატი, ასე რომ, ეს განსაზღვრავს შესვლის წერტილს, კერძოდ დაწყების კლასს. სავარაუდოდ, პროგრამისტი პირველად დაწერა განაცხადის გარეშე ძირითადი მენიუ, შესვლის წერტილი, რომელიც იყო სტანდარტული mainactivity კლასის და შემდეგ დასძინა ახალი ფანჯარა (აქტივობა) მენიუში და აღწერილი დაწყების კლასში, და ხელით გააკეთა ეს შეყვანის წერტილი .

გახსენით start.smali ფაილი და კვლავ ეძებს რეკლამის სიმებიანი, ჩვენ ვხვდებით 153 და 155 აღვნიშნო პირველი კლასის. მას ასევე აქვს წყარო და, ვიმსჯელებთ სახელით, პასუხისმგებელია ძირითადი ეკრანზე რეკლამების ჩვენება. ჩვენ ვხედავთ, არის მაგალითი, მაგალითად, პირველი კლასის კლასი და განზრახვა, ამ მაგალითთან დაკავშირებით კონტექსტის თანახმად, შემდეგ კი Cond_10 ეტიკეტზე, პირობითი გარდამავალი, რომელსაც სიზუსტე ხორციელდება მაგალითად, კლასი:

IF-NE P1, V0,: Cond_10 .line 74 ახალი ინსტანცია V0, Landroid / შინაარსი / განზრახვა; ...: Cond_10

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

# IF-NE P1, V0,: Cond_10 Goto: Cond_10

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

შედეგები

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

APK რედაქტორი Pro, რომელიც შეგიძლიათ ჩამოტვირთოთ Android ჩვენს საიტზე საშუალებას მოგცემთ hack / შეცვალოს შინაარსი ფაილი ნებისმიერი განაცხადი Მობილური მოწყობილობები და თქვენი შეხედულებისამებრ.

მახასიათებლები

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

რა შეიძლება ეს კომუნალური ცოდნა?

  1. შეცვალოს (თარგმნა) სხვა პროგრამების სახელები.
  2. შეცვლა არქიტექტურის ფორმატის, ფერები, თარგები გრაფიკული პარამეტრები (მაგალითად, ხატების ზომა).
  3. აუდიო დიზაინის შეცვლა, მედია ფაილები.
  4. წაშლა რეკლამა.
  5. გადახდილი შინაარსის ბლოკირების გვერდის ავლით.
  6. განაცხადის გადარიცხვა SD ბარათზე მოწყობილობის შიდა მეხსიერებაში.
  7. შეცვალეთ ნებართვა და მრავალი სხვა.

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

  • რესურსების რედაქტირება;
  • ფაილების ჩანაცვლება;
  • ზოგადი რედაქტირება;
  • მონაცემების რედაქტირება.

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

პროგრამა განსხვავებულია მოსახერხებელი ინტერფეისი. ნავიგაცია საკმაოდ მარტივია, მაგრამ მომხმარებელს უნდა ჰქონდეს ინგლისური ენის ცოდნა.

Დადებითი და უარყოფითი მხარეები

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

ამ კომუნალური გამოყენება მოითხოვს გარკვეულ უნარებსა და ცოდნას. გამოუცდელი მომხმარებლის ხელში, რედაქტირება შეიძლება გამოიწვიოს მთლიანობის დარღვევებზე. Ფაილების სისტემაეს საბოლოო ჯამში გამოიწვევს გაუმართაობებს აპლიკაციებში. მენიუში დახმარების აღმოჩენა, არსებობს მაგალითები კონვერტაციის სურათები და რჩევები სწორი გამოყენების apk რედაქტორი Pro on Android. ამიტომ, თუ სურვილი ჩნდება ამ პროგრამის გაუმკლავდეს, საკმარისია მხოლოდ ინსტრუქციის მისაღწევად.

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