Android არის ოპერაციული სისტემა, რომელიც იყენებს უამრავ პროგრამირების ენას. ყველაზე გავრცელებული ენებია Java (ან Android Java თუ გირჩევნიათ), C, XML, Bash და კიდევ რამდენიმე. Android აპლიკაციების დეკომპილირება შესაძლებელია APKTool-ით და რამდენიმე მსგავსი ხელსაწყოთი და მათი გამომავალი არის Smali. ვიცი, რომ ბევრი თქვენგანი არ დამეთანხმება, მაგრამ სმალი საკმაოდ რთული ენაა, ვიდრე ჯავა.
არსებობს ორი ინსტრუმენტი, რომელსაც შეუძლია Smali დააბრუნოს Java-ში: Dex2Jar და JAD. თუმცა, მათი გამოყენება საკმაოდ რთულია და საჭიროა გარკვეული გამოცდილება მათი სწორად გამოსაყენებლად. საბედნიეროდ, XDA აღიარებული დეველოპერი ფიცარი1337 შევქმენით მარტივი bash სკრიპტი, რომელიც ყველაფერს აკეთებს ჩვენთვის. ამ სკრიპტს შეუძლია მიიღოს ყველა საჭირო დამოკიდებულება, ასევე მიიღოს Java კოდი პირდაპირ APK-დან. ის მუშაობს მხოლოდ Linux-ზე, მაგრამ დარწმუნებული ვარ, რომ ის შეიძლება გამოყენებულ იქნას არა UNIX-ის მსგავს სისტემებზე, როგორიცაა Windows Cygwin-ით. დეველოპერი გირჩევთ, რომ ფაილი ჩადოთ ~/bin-ში და გახადოთ იგი შესრულებადი. დამატებითი ინსტრუქციები ხელმისაწვდომია თემაში.
ხანდახან სკრიპტებს შეუძლიათ ცხოვრება გაადვილონ. თუ თქვენ დაინტერესებული ხართ პროექტით, აიღეთ გზა ორიგინალური ძაფი მეტი ინფორმაციის მისაღებად და ისწავლეთ როგორ გადაიყვანოთ ასამბლერის კოდი Java-ში.
შენიშვნა: მსგავსი ინსტრუმენტები უნდა იქნას გამოყენებული საგანმანათლებლო მიზნებისთვის. აპლიკაციებიდან კოდის „სესხება“ (ფასიანი ან უფასო) არაეთიკურია და არ უნდა მოხდეს. ისინი დახურული წყაროა მიზეზის გამო. გაითვალისწინეთ ეს.