how to get root access on android 2.3 emulator

10k views Asked by At

i am trying to get root access on my android emulator to run iptables. i went through many forums and tried many methods but nothing seems to work. the following is my device specification and i try everything on emulator.

version - 2.3 kernel version - 2.6.29-00261-g0097074-dirtydigit@digit #20

build number - sdk-eng 2.3 GRH55 79397 test-keys

so how to become root in the android. please help.

1

There are 1 answers

1
eocanha On BEST ANSWER

On the emulator provided with the SDK r10, you can get a root shell executing "adb shell" from your host computer. Once you have such root shell, you cat follow this steps to get a command that can log you as root from the terminal emulator:

# Remount /data to allow executables and setuids on it
mount -o remount,rw /dev/block/mtdblock1 /data

# There's no "cp" command on Android
cat /system/bin/sh > /data/su

# Give setuid permissions to the shell
chmod 7755 /data/su

Now, from the emulator, just run "/data/su" and that's it, you're root.

The normal "/system/xbin/su" command included in the SDK performs internal user id checks, so these commands...

mount -o remount,rw /dev/block/mtdblock0 /system
chmod 7755 /system/xbin/su

...just won't work. There's no way to trick /system/xbin/su to allow the normal user (UID 10018 in my case) to become root.

Please note that dealing with setuid programs can be a security risk (not higher than having a universal "su" command, though). Use this solution at your own risk.