Skip to content

VerSprite/BSidesSF-2015

Repository files navigation

BSidesSF 2015

Introduction to Reverse Engineering Android Applications

Pre-Requirements:

  • Clone this repository to your local machine
  • Be comfortable using ADB to push, pull, and install files
  • Have your environment setup, configured and working (Android SDK, Genymotion, Tools). Some of the these tools only work in 32-bit mode; x86_64 users will need to have ia32 support.

Building the Environment

The environment will be targeting NIX operating systems

Download and install Java if you don't already have it

  1. Download and install Android Studio or the standlone SDK
  2. Download and install VirtualBox
  3. Download and install Genymotion
  4. Download ARM Translation support for Genymotion
  5. In Genymotion, create a new virtual device: Add -> Samsung Galaxy S4 - 4.3 - API 18
  6. Point Genymotion to the Android SDK: Settings -> ADB -> 'Use custom Android SDK tools' -> Android SDK
  7. Power on virtual device
  8. Drag-and-drop ZIP into booted virtual device - This will require you to restart the virtual device
  9. Download CrackME! Android application
  10. Install CrackME! application -> adb install app-release.apk
  11. Download and install apktool, dex2jar, androguard, jd-gui

If Genymotion's easy deployment for images and apps is not working, it is possible to manually install. Examine the terminal output and look for a line similar to OpenGL connected to 192.168.56.101:25000 - this will tell you the IP of the device emulator. Then:

$ adb kill-server
$ adb connect 192.168.56.101
$ adb shell mkdir /sdcard/Download
$ adb push Genymotion-ARM-Translation_v1.1.zip /sdcard/download
$ adb shell
root@vbox86p:/ # /system/bin/flash-archive.sh /sdcard/Download/Genymotion-ARM-Translation_v1.1.zip
root@vbox86p:/ # reboot
$ adb connect 192.168.56.101
$ adb install app/crackme.apk

About

Introduction to Reverse Engineering Training

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages