Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[APP] Voodoo OTA RootKeeper (and temporary un-root)

OP supercurio

30th August 2011, 03:46 PM   |  #1  
supercurio's Avatar
OP Senior Recognized Developer
Flag Chambéry
Thanks Meter: 5,072
 
3,529 posts
Join Date:Joined: May 2010
Donate to Me
Hi Everyone


Because I'm lazy and was tired re-rooting manually my devices after installing manufacturers OTA updates, I wrote an app that protects root in one touch event.
It is available for free on Android market and its source code is Open Source under WTFPL (github).

Translations and code contributions are welcome.

Features: :

- Backup root before OTA & Restores it right after.
- Temporary un-root your device.

Requirements:

- Device must be already rooted.
- Protection is effective only for devices with Ext2/Ext3/Ext4 /system partition
- Non ExtFS devices will still be able to use the temporary un-root feature

OTA RootKeeper will detect what's possible or not and display available options accordingly.

Typically works for: Nexus S, Every Honeycomb tablets.
On ExtFS partition, root survives anything but true formating or partition wiping.
It means some update tools like KIES/Odin for Samsung device will wipe the whole thing anyway because they write complete new partition.

I needed this app so I wrote it, hopefully it will be useful to you too!

Android 4.3 Notes:

Based on Android 4.3 release notes, on Enterprise and Security, Restrict Setuid from Android Apps, su binaries and Superuser apps designed for previous Android generation will simply not work on 4.3:

Quote:

Restrict Setuid from Android Apps

The /system partition is now mounted nosuid for zygote-spawned processes, preventing Android applications from executing setuid programs. This reduces root attack surface and likelihood of potential security vulnerabilities.

It means preserving root with OTA Root Keeper won't be possible anymore as new rooting techniques rely on more than just a setuid su binary in /system.
I'll look into solution of course to preserve the functionality if possible, but until then please follow Chainfire's job on SuperSU betas.
Last edited by supercurio; 25th July 2013 at 12:32 AM.
The Following 76 Users Say Thank You to supercurio For This Useful Post: [ View ]
30th August 2011, 04:00 PM   |  #2  
Senior Member
Thanks Meter: 10
 
134 posts
Join Date:Joined: Oct 2010
Aw, so its a no go on my sgs2..

Thanks for the amazing work as always anyways!
30th August 2011, 04:04 PM   |  #3  
supercurio's Avatar
OP Senior Recognized Developer
Flag Chambéry
Thanks Meter: 5,072
 
3,529 posts
Join Date:Joined: May 2010
Donate to Me
Quote:
Originally Posted by nanujra

Aw, so its a no go on my sgs2..

Thanks for the amazing work as always anyways!

You're welcome

On Galaxy S II, temporary unroot is working and allows you to "hide" root from stupid apps refusing to work as expected after detecting root.
Its not really hidden but so far, those stupid apps (like Google movies) use stupid detection routines.
The Following 5 Users Say Thank You to supercurio For This Useful Post: [ View ]
5th September 2011, 11:26 PM   |  #4  
Senior Member
London
Thanks Meter: 108
 
1,058 posts
Join Date:Joined: Aug 2009
More
Supercurio. do you think you can backup Superuser.apk too please. I can see where it needs to be done in github but I'm no expert in compiling apk. or Will apkmanager work for that and i Will have a go at that.
The Following User Says Thank You to crypticc For This Useful Post: [ View ]
5th September 2011, 11:38 PM   |  #5  
supercurio's Avatar
OP Senior Recognized Developer
Flag Chambéry
Thanks Meter: 5,072
 
3,529 posts
Join Date:Joined: May 2010
Donate to Me
Quote:
Originally Posted by crypticc

Supercurio. do you think you can backup Superuser.apk too please. I can see where it needs to be done in github but I'm no expert in compiling apk. or Will apkmanager work for that and i Will have a go at that.

Why backup Superuser.apk?

If it's not installed, you already get automatically a button to access the market page automatically.
When you update your device via an OTA, Superuser.apk is not uninstalled.

Please describe your need
The Following User Says Thank You to supercurio For This Useful Post: [ View ]
7th September 2011, 10:28 PM   |  #6  
Senior Member
London
Thanks Meter: 108
 
1,058 posts
Join Date:Joined: Aug 2009
More
Quote:
Originally Posted by supercurio

Why backup Superuser.apk?

If it's not installed, you already get automatically a button to access the market page automatically.
When you update your device via an OTA, Superuser.apk is not uninstalled.

Please describe your need

Thanks for replying.

Busybox because is part of xbin and could be lost.

superuser apk because that would be a full unroot and reroot in one app. E.g. If I want to unroot during work hours and reroot after say if work sync calendar app doesn't like root.

Or do you think this will be a nice way to cut my teeth on android development? I see two java code places that seem to backup and then restore.
8th September 2011, 01:40 AM   |  #7  
supercurio's Avatar
OP Senior Recognized Developer
Flag Chambéry
Thanks Meter: 5,072
 
3,529 posts
Join Date:Joined: May 2010
Donate to Me
Quote:
Originally Posted by crypticc

Thanks for replying.

Busybox because is part of xbin and could be lost.

superuser apk because that would be a full unroot and reroot in one app. E.g. If I want to unroot during work hours and reroot after say if work sync calendar app doesn't like root.

Or do you think this will be a nice way to cut my teeth on android development? I see two java code places that seem to backup and then restore.

I never noticed an OTA that destroyed xbin directory? Do you have an example? (please show me the updater-script so I can study it)

Why I made this utility is because /system permissions are reset via recursive chmods during OTAs: what causes su binary to not be efficient anymore.
But saving files in not the main purpose. As long as you're rooted, you can re-install busybox in /system anyway.
The Following User Says Thank You to supercurio For This Useful Post: [ View ]
14th September 2011, 09:05 AM   |  #8  
Senior Member
London
Thanks Meter: 108
 
1,058 posts
Join Date:Joined: Aug 2009
More
Ah. I am thinking odin not ota

Ta
17th September 2011, 01:15 AM   |  #9  
supercurio's Avatar
OP Senior Recognized Developer
Flag Chambéry
Thanks Meter: 5,072
 
3,529 posts
Join Date:Joined: May 2010
Donate to Me
Quote:
Originally Posted by crypticc

Ah. I am thinking odin not ota

Ta

With Odin the whole partition is wiped, I can't backup/restore root − and as a result restore busybox either because it would require root to do so.
The Following User Says Thank You to supercurio For This Useful Post: [ View ]
31st October 2011, 08:20 PM   |  #10  
Member
Flag Williamsburg, VA
Thanks Meter: 11
 
81 posts
Join Date:Joined: Jul 2011
Any reason not to backup su to /data instead of /system? I've tried this on a Bionic and it works just fine. I tried this:
adb shell
su
cp -p /system/bin/su /data/su
rm /system/bin/su /system/xbin/su
exit - reboot phone
adb shell
/data/su
I'm root.
Seems like /data has a better chance of being untouched and as long as it's mounted correctly that copy of su will be there and executable.

The Following User Says Thank You to crpeck For This Useful Post: [ View ]
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes