Wednesday 21 September 2016

Reverse engineering part 1: getting the apk file

Reverse engineering, also called back engineering, is the processes of extracting knowledge or design information from anything man-made and re-producing it or re-producing anything based on the extracted information. The process often involves disassembling something (a mechanical device, electronic component, computer program, or biological, chemical, or organic matter) and analyzing its components and workings in detail.

As far as Android is concerned, suppose we have full-working Android app and we would like to find out how a particular layout is structured, how a specific animation is coded, how a visual effect is made. We can do that by reverse-engineering the apk file and extract useful information from it.

There are different tools for doing that and in the following articles we'll have a look at some of the most widely used.
Reverse engineering

Getting the apk file

The first step to reverse-engineer an Android app is getting the apk file, in order to disassemble and analyze it using the different tools available.

From the web

The easiest way to obtain the apk file of a particular app is using one the many online resources available.
For example, using this website:

you can paste the Google Play Store Url of the app you're interested in, and the service lets you download the apk file to your pc.
If you download an apk file from the web, like the online service previously mentioned, be aware of the risk of possible viruses or other malware.

From the smartphone

You can also very easily extract the apk file from an app installed on your smartphone.
To do that we can use the adb.exe utility of the Android Sdk platform (you can find it in the folder: Android\sdk\platform-tools).

Just connect the device to your pc and type the following commands in command line...

adb shell pm list packages 
to obtain a list of the apps (packages) installed and find the package you are interested in

adb shell pm path your-package-name
replace "your-package-name" with the name of the desired package
to get the full package name and the name of the app

adb pull full_path_of_the.apk
replace "full_path_of_the.apk" with the full package name of the apk file obtained with the previous command
to get the apk file in the folder where the command is executed


26 comments:

  1. This blog is the general information for the feature. You got a good work for these blog.We have a developing our creative content of this mind.Thank you for this blog. This for very interesting and useful.

    rpa Training in Chennai

    rpa Training in bangalore

    rpa Training in pune

    blueprism Training in Chennai

    blueprism Training in bangalore

    blueprism Training in pune

    iot-training-in-chennai


    ReplyDelete
  2. This blog is the general information for the feature. You got a good work for these blog.We have a developing our creative content of this mind.Thank you for this blog. This for very interesting and useful.

    rpa Training in Chennai

    rpa Training in bangalore

    rpa Training in pune

    blueprism Training in Chennai

    blueprism Training in bangalore

    blueprism Training in pune

    iot-training-in-chennai


    ReplyDelete
  3. Nice information, valuable and excellent design, as share good stuff with good ideas and concepts, lots of great information and inspiration, both of which I need, thanks to offer such a helpful information here.
    java training in chennai | java training in bangalore


    java training in tambaram | java training in velachery

    ReplyDelete
  4. You made such an interesting piece to read, giving every subject enlightenment for us to gain knowledge. Thanks for sharing the such information with us
    python training in chennai
    python training in chennai
    python training in Bangalore

    ReplyDelete
  5. I am sure this post has helped me save many hours of browsing other related posts just to find what I was looking for. Many thanks!
    Blueprism training in Pune

    Blueprism training in Chennai

    ReplyDelete
  6. Well Said, you have furnished the right information that will be useful to anyone at all time. Thanks for sharing your Ideas.
    angularjs Training in chennai
    angularjs-Training in pune

    angularjs-Training in chennai

    angularjs Training in chennai

    angularjs-Training in tambaram

    ReplyDelete
  7. Thanks Admin for sharing such a useful post, I hope it’s useful to many individuals for developing their skill to get good career.

    angularjs Training in bangalore

    angularjs Training in btm

    angularjs Training in electronic-city

    angularjs online Training

    angularjs Training in marathahalli

    ReplyDelete
  8. Whoa! I’m enjoying the template/theme of this website. It’s simple, yet effective. A lot of times it’s very hard to get that “perfect balance” between superb usability and visual appeal. I must say you’ve done a very good job with this.

    Selenium Interview Questions and Answers

    Best Selenium Training in Chennai | Selenium Training Institute in Chennai | Besant Technologies

    Selenium Training in Bangalore | Best Selenium Training in Bangalore

    ReplyDelete
  9. " I’d love to be a part of group where I can get advice from other experienced people that share the same interest. If you have any recommendations, please let me know. Thank you.
    "
    apple service center chennai | Mac service center in chennai | ipod service center in chennai | apple iphone service center in chennai

    ReplyDelete
  10. " What a fantastic post! This is do chock full of use full information. I can’t wait to dig deep and start utilizing the resources you have given me. Your quality of blogging is refreshing.
    "
    apple ipad service center in chennai | apple iphone service center in chennai | Apple laptop service center in chennai | apple iphone service center in chennai

    ReplyDelete
  11. Very useful post,thanks for sharing.Very clear and understandable content.ElasticSearch is a search engine based on Lucene Library
    elasticsearch training institute in btm layout

    ReplyDelete
  12. Malwarebytes Anti-Malware 4.5.16 Crack is a utility that will remove Malware and adware from the Mac efficiently and quickly.Malwarebytes Serial Key

    ReplyDelete