i

Android Rooting

Rooting allows all users to run admin privileged level commands which were not allowed in stock configuration. Rooting allows users to delete system files, remove pre-installed applications.

Few key terms to be known: -

  • Bootloader: Bootloader loads and starts bootloading tasks and processes.
  • Sideloading: It simply means transferring a media file to a mobile device via USB, Bluetooth or Wifi
  • Overcloaking: It simply means increasing the frequency of processor to the maximum level thereby increasing the performance of your android device.
  • Bloatware: It is a software using large amounts of unnecessary features, memory and RAM. 
  • Flashing: It means installing something on your device
  • Bricking: It means breaking during flashing or other acts

Advantages of rooting: -

  • Complete control of the feel and look of the device
  • Complete control of the kernel
  • Complete control of applications allowing us to remove bloatware.
  • It allows us to install custom hardware or software increasing the features of the device.

Methods Of Android Rooting: -

  • We can root Android from terminal using adb (Android Debug Bridge) commands.
    C:\AndroidExploit\bin> adb push exploit /data/local/tmp
    C:\AndroidExploit\bin> adb shell
    $ls -l
    $./exploit root
    C:\AndroidExploit\bin> adb shell
    We should see uid = 0 (root)

     
  • Another method of rooting called "systemless root" uses various techniques to root the Android device without changing the system partition. An example of it is Magisk.

Creating Emulator: -

An emulator can be created by installing the Santoku OS in the system. Santoku is a customized OS created from Ubuntu based OS specifically for testing of Android based  applications. 

Another way is to use Genymotion in the system in which Android OS can be created and then testing of Android applications can be done.