[Transformer TF300T Android Development] stewa2jm:
These instructions are not solely my own and are adapted from miloj’s Windows based instructions found here:

http://developer.android.com/sdk/installing.html

Thank you miloj for the instructions!

This guide is intended to help noobs with rooting their TF300T device with a Mac. I am probably a half step above noob, so please don’t expect perfection.

Read this these instructions straight through, maybe even a couple of times before you begin to make sure you fully understand what you are doing.

I am not responsible for any bricked devices, malfunctions, etc. and most likely will not be able to problem solve much for you. Hopefully, the real geniuses here on XDA will jump in should you need extra help.

First off, make sure you have Android SDK and ADB installed. Follow these instructions skipping the Eclipse installation step (unless you plan on developing apps and such):

http://developer.android.com/sdk/installing.html

Save these files wherever makes sense to you and once done open up the folder containing adb in file explorer and leave open. This should be in the SDK>platform-tools folder.

Now for miloj’s instructions with some Mac specific extras and for sake of ease:

Download the debugfs and su binary files provided by miloj first from here:

http://db.tt/FBUNeVmo

Again, save these files where it makes sense to you and then open up the containing folder in file explorer and leave open.

Make sure “usb debugging” is turned on on your Asus TF300T by going to Settings>Developer options and check the USB debugging options.

Make sure you device is plugged into your Mac via usb cable. Now find out if our Mac recognizes your device.

Open up terminal from your utilities.

Organize your Terminal and folder containing adb on your workspace so you can easily access both. Click, hold, and drag the adp icon and drop it into the Terminal window. This will allow you to you immediately move into the adb command without having to type in the complete destination. Your line should end with “…/adb” now type in the command devices and hit return/enter.

NOTE – from here on out assume after every command you hit “return” or “enter”

It will look something like this:

…adb devices

the response should read:

List of devices attached

{serial number} devices

If nothing is listed, then you either didn’t activate USB debugging or your adb isn’t up to date, start again from the top.

If it showed your device, then lets move forward.

Now we have to push over the debugfs file and the su file (superuser). Make sure you can see Terminal and both open file explorer windows listed above all visible on your workspace.

Again, click, hold, drag the adb into Terminal and then complete the following commands by typing the command (in this case “push”) in between adb and the proper file and then typing in the location you want it pushed to on the device: (*note: dragging and dropping the “debugfs”file where it says “debugfs” – your file destination path name will be shown, not just debugfs)

adb push debugfs /data/local/

In the command above you would drag into Terminal the adb file then type push, drag in the debugfs file then type in “/data/local/” all with spaces in between. Every time you read in a “Code” section “adb” you are going to follow this procedure with the adb icon/file. Now, rinse and repeat moving forward.

Then this command (dragging and dropping the “su”file where it says “su” – your file destination path name will be shown, not just su)

adb push su /data/local/

now you have debugfs and su on your device.

You now have to have Terminal take control and run commands in your device by using this command:

adb shell

once in you will have a line starting with a “$” and you type in the following commands to gain root access: (type them exactly as written)

cd /data/local/
mv tmp tmp.back
ln -s /dev/block/mmcblk0p1 tmp
exit

The “exit” takes you back into your Mac, now reboot your device through adb:

adb reboot

WAIT UNTIL THE TF300T HAS BOOTED UP AGAIN!

Now get back into the device:

adb shell

Continue with the following commands after the “$” symbol:

cd /data/local

toolbox chmod 755 /data/local/debugfs
/data/local/debugfs -w /data/local/tmp

Now you’re going to run the debugfs files. Make sure you are writing these all in EXACTLY as written. All lines preceeded by “debugfs:” you will type in the following:

cd xbin
rm su
write /data/local/su su
set_inode_field su mode 0106755
set_inode_field su uid 0
set_inode_field su gid 0
quit

Now, back in to lines starting with “$” and run these:

rm /data/local/tmp
mv /data/local/tmp.back /data/local/tmp
exit

Now reboot:

adb reboot

WAIT UNTIL THE TF300T HAS BOOTED UP AGAIN

You are rooted! Congratulations!

Let’s double check and do some clean up:

adb shell

From the line “$” type these commands for double check:

/system/xbin/su

Now the line is a hash tag “#” and type

id

The Terminal response should read something like this:

id=0 (root) gid=0 (root) … and so forth

Clean up:

rm /data/local/su
rm /data/local/debugfs

Done with Terminal.

Now, open up the Play store and download the Superuser app immediately. Once it is installed, open the app and go into the settings. Under the heading “GENERAL” Tap the “Su binary v…” to check for updates and update the app.

You are now rooted, you have Superuser control.

Let me know how this works for you!!!

Credits: wolf849 for exploit, and miloj for commands.