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

Search This thread

Elfsiren

Senior Member
Dec 4, 2011
61
15
I have a problem? I cannot install this from Android Market. Everytime I try it redirects me to Amazon App Store which then says that the app can't be found. Also, when I search from the Market app, it says file not found. Can you please link me to a direct download of the apk file or send it to me?
Many thanks for your great work :D
 

supercurio

Retired Senior Recognized Developer
May 31, 2010
3,550
5,041
Chambéry
spectrastudy.com
I have a problem? I cannot install this from Android Market. Everytime I try it redirects me to Amazon App Store which then says that the app can't be found. Also, when I search from the Market app, it says file not found. Can you please link me to a direct download of the apk file or send it to me?
Many thanks for your great work :D

Hi: on which device?

If amazon app store is messing with Android Market, I suggest installing amazon one.

Sent from my GT-N7000 using XDA App
 

Elfsiren

Senior Member
Dec 4, 2011
61
15
Hi: on which device?

If amazon app store is messing with Android Market, I suggest installing amazon one.

Sent from my GT-N7000 using XDA App

I have a rooted Kindle Fire. I think there may be a problem with my Android market app in general, as it tells me there is no result for anything I search for. If, using my Kindle browser, I click the link you posted, it takes me to the market, but it says I need to sign in. When I click sign in, it take me to Amazon app store and says the app is not available. :(
 

suffer1989

Senior Member
Apr 30, 2011
140
17
Sydney
Will this help "re-root" the phone from Gingerbread, to the official ICS update thats begun rolling out today ?
 

suffer1989

Senior Member
Apr 30, 2011
140
17
Sydney
Thanks for that speedy update, but what if I do the manual update thing ? (update.zip , then recovery menu)
(I have Baseband Version : I9020XXKF1, Build : GRK39F)

Is that different in any way ?

Also, as a semi thank you/ support gesture, I intend to buy your Voodoo control plus app :
https://market.android.com/details?id=org.projectvoodoo.controlappdonate&hl=en

Does that have ICS support for the nexus s, or is that a planned update ?
Thanks


EDIT : I instaled ICS, and even though the program said it restored the rood, and titanium backup loading properly, I cant do anything with titanium backup. Further more, rootchecker app says my phone isnt rooted.
 
Last edited:

haitham18

Senior Member
May 12, 2011
50
3
Tampa.Fl
thanx for this greet app
i have nexus s and i dont know why its not working with me
i was on ics kwiboo v3 and my device is rooted
i downloaded ota rootkeeper and i chose protect root and after this backup root
after this i download 2.3.6 and upgrade to 4.0.3
and redownload rootkeeper
when i press root restore only the filesystem supports root protection is there i download s u but still i cant have root permission
can u tell me plz where is my mistake and show me the correct procedure to have everything okay

thanx
 

brandonyoung

Senior Member
I am running the Galaxy Nexus with stock rooted ICS 4.0.2. It looks like this doesn't work for ICS.

It installs on my phone, and it asks for Superuser permissions, but it doesn't look like it detects root properly in the new OS or actually does anything. My device is rooted, Titanium backup works and other apps that require root also work, but there is no check mark next to "Device rooted". Root permissions are granted and file system supports root protection both have check marks. I click on "Protect root" and it says "root su protected" but the checkboxes don't change.

It worked great on my rooted Vibrant that is still running froyo, and my Galaxy Tab running Honeycomb, though.
 
Last edited:

supercurio

Retired Senior Recognized Developer
May 31, 2010
3,550
5,041
Chambéry
spectrastudy.com
Hi guys

Multiple users report issues with ICS / Superuser after using Titanium backup.
I guess TI non-standard way of restoring files in app directories cause troubles on ICS.

I updated the description on market to reflect that, and here is my recommendations:
- Titanium backup, because of its non-standard way of restoring apps seems to have issues with Superuser.
I recommend not using this app and installing Superuser from market like any other app, from Android Market. It will just work.

Also, I suggest contacting Titanium backup to provide him useful bug reports so he can update his app for ICS.
 

suffer1989

Senior Member
Apr 30, 2011
140
17
Sydney
Hi guys

Multiple users report issues with ICS / Superuser after using Titanium backup.
I guess TI non-standard way of restoring files in app directories cause troubles on ICS.

I updated the description on market to reflect that, and here is my recommendations:


Also, I suggest contacting Titanium backup to provide him useful bug reports so he can update his app for ICS.


Sorry for the diversion, but do you have any plans of implementing Voodoo control plus on the Nexus S, running the rooted, stock ICS kernel ?
 

bagl0312

Senior Member
Apr 30, 2010
141
33
Problem on Galaxy Nexus

I see the same behavior described by brandonyoung on my Galaxy Nexus.

I made some further checks: su is correctly saved to /system/su-backup,
so that part of the app works.

However in the "Status" window it says:

Superuser app installed: OK
Device rooted: NO
Root permissions granted: OK
Filesystem supports root protection: OK
Protected su copy available: NO

apparently the app is also not able to "Restore root" after a OTA

Of course, since the "su" executable is saved in /system/su-backup,
it is possible to restore by hand root with the following commands from a terminal emulator (or adb shell):

/system/su-backup
mount -o remount,rw /system
rm /system/bin/su
rm /system/xbin/su
cp /system/su-backup /system/bin/su
chmod 06755 /system/bin/su

I was not able to find what is causing the app to fail the checks about "Device rooted" and "Protected su copy available"

Thanks


I am running the Galaxy Nexus with stock rooted ICS 4.0.2. It looks like this doesn't work for ICS.

It installs on my phone, and it asks for Superuser permissions, but it doesn't look like it detects root properly in the new OS or actually does anything. My device is rooted, Titanium backup works and other apps that require root also work, but there is no check mark next to "Device rooted". Root permissions are granted and file system supports root protection both have check marks. I click on "Protect root" and it says "root su protected" but the checkboxes don't change.

It worked great on my rooted Vibrant that is still running froyo, and my Galaxy Tab running Honeycomb, though.
 

supercurio

Retired Senior Recognized Developer
May 31, 2010
3,550
5,041
Chambéry
spectrastudy.com
Hi bagl0312, thanks for the feedback.

su and Superuser seems to be not fully reliable yet on ICS and I get reports from issues even with latest versions of the binary and app.

I guess authors need a bit more time ;)


Note: if you still have a copy of the logcat at this time it will show where's the issue.
Also I wrote Voodoo Report to help with debugging.
 

bagl0312

Senior Member
Apr 30, 2010
141
33
I looked at my logcat, below are the relevant lines (I guess).

I see that the check about su fails:

Code:
[ 12-20 06:24:10.973  9873:0x2691 D/Voodoo OTA RootKeeper Utils ]
/system/xbin/su is not set-user-ID

even if the permissions are ok, as far as I can see:
Code:
shell@android:/ # ls -l /system/xbin/su                                        
-rwsr-sr-x root     root        22364 2011-12-20 06:36 su


I attach also a more complete logcat where I did several operations with the app


Code:
[ 12-20 06:23:54.340   476:0x1dc I/System.out ]
UPDATECOUNTERS REQUEST: org.projectvoodoo.otarootkeeper = 0

[ 12-20 06:23:54.340   476:0x1dc I/System.out ]
UPDATINGCOUNTERS: org.projectvoodoo.otarootkeeper = 0

[ 12-20 06:23:54.340   199:0xd2 I/ActivityManager ]
START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=org.projectvoodoo.otarootkeeper cmp=org.projectvoodoo.otarootkeeper/.MainActivity} from pid 476

[ 12-20 06:23:54.488   199:0xd2 D/dalvikvm ]
GC_FOR_ALLOC freed 1261K, 11% free 26190K/29127K, paused 89ms

[ 12-20 06:23:54.488   199:0xe2 I/WindowManager ]
createSurface Window{4206ba90 Starting org.projectvoodoo.otarootkeeper paused=false}: DRAW NOW PENDING

[ 12-20 06:23:54.519  9873:0x2691 I/Voodoo OTA RootKeeper MainActivity ]
Starting app

[ 12-20 06:23:54.543  9873:0x2691 I/Voodoo OTA RootKeeper Device ]
/system mount point: /dev/block/platform/omap/omap_hsmmc.0/by-name/system /system ext4 ro,relatime,barrier=1,data=ordered 0 0

[ 12-20 06:23:54.543  9873:0x2691 I/Voodoo OTA RootKeeper Device ]
/system filesystem support extended attributes

[ 12-20 06:23:54.551  9873:0x2691 D/Voodoo OTA RootKeeper Utils ]
/system/xbin/su is not set-user-ID

[ 12-20 06:23:54.551  9873:0x2691 D/Voodoo OTA RootKeeper Device ]
Superuser.apk installed

[ 12-20 06:23:54.566  9873:0x2691 D/Voodoo OTA RootKeeper Device ]
attributes: 

[ 12-20 06:23:54.598  9873:0x2691 D/Voodoo OTA RootKeeper Utils ]
Run script content (with shell: su):
#!/system/bin/sh
echo SuPermsOkay

[ 12-20 06:23:54.598   476:0x1dc D/OpenGLRenderer ]
Flushing caches (mode 1)

[ 12-20 06:23:54.598   199:0x188 W/InputManagerService ]
Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@41bf44c0 (uid=10218 pid=476)

[ 12-20 06:23:54.637   476:0x1dc D/OpenGLRenderer ]
Flushing caches (mode 0)

[ 12-20 06:23:54.652  9963:0x26eb E/su       ]
sudb - Opening database

[ 12-20 06:23:54.652  9963:0x26eb E/su       ]
sudb - Database opened

[ 12-20 06:23:54.652  9963:0x26eb E/su       ]
sudb - Database closed

[ 12-20 06:23:54.652  9963:0x26eb D/su       ]
10220 org.projectvoodoo.otarootkeeper executing 0 /data/data/org.projectvoodoo.otarootkeeper/files/commands.sh using shell /system/bin/sh : sh

[ 12-20 06:23:54.668  9873:0x2691 D/Voodoo OTA RootKeeper Utils ]
Superuser command auth confirmed

[ 12-20 06:23:54.699   199:0x1c37 I/WindowManager ]
createSurface Window{420ee6a0 Toast paused=false}: DRAW NOW PENDING

[ 12-20 06:23:54.715  9873:0x2692 D/dalvikvm ]
GC_CONCURRENT freed 374K, 4% free 14588K/15047K, paused 2ms+3ms

[ 12-20 06:23:54.730  9893:0x26a7 D/dalvikvm ]
GC_CONCURRENT freed 304K, 3% free 14220K/14599K, paused 2ms+2ms

[ 12-20 06:23:54.746   199:0x2200 I/WindowManager ]
createSurface Window{42091d98 org.projectvoodoo.otarootkeeper/org.projectvoodoo.otarootkeeper.MainActivity paused=false}: DRAW NOW PENDING

[ 12-20 06:23:54.894   199:0xd2 W/InputManagerService ]
Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@41bf44c0 (uid=10218 pid=476)

[ 12-20 06:23:55.105   199:0xe2 I/ActivityManager ]
Displayed org.projectvoodoo.otarootkeeper/.MainActivity: +599ms

[ 12-20 06:23:59.535  9873:0x2691 D/Voodoo OTA RootKeeper MainActivity ]
Button pressed tag: protect

[ 12-20 06:23:59.535  9873:0x2691 I/Voodoo OTA RootKeeper ProtectedSuOperation ]
Backup to protected su

[ 12-20 06:23:59.566  9873:0x2691 D/Voodoo OTA RootKeeper Utils ]
/system/bin/su is not set-user-ID

[ 12-20 06:23:59.566  9873:0x2691 D/Voodoo OTA RootKeeper Utils ]
Run script content (with shell: su):
mount -o remount,rw /system /system
/data/data/org.projectvoodoo.otarootkeeper/files/chattr -i /system/su-backup
cat /system/xbin/su > /system/su-backup
chmod 06755 /system/su-backup
/data/data/org.projectvoodoo.otarootkeeper/files/chattr +i /system/su-backup
mount -o remount,ro /system /system


[ 12-20 06:23:59.660  9969:0x26f1 E/su       ]
sudb - Opening database

[ 12-20 06:23:59.660  9969:0x26f1 E/su       ]
sudb - Database opened

[ 12-20 06:23:59.668  9969:0x26f1 E/su       ]
sudb - Database closed

[ 12-20 06:23:59.668  9969:0x26f1 D/su       ]
10220 org.projectvoodoo.otarootkeeper executing 0 /data/data/org.projectvoodoo.otarootkeeper/files/commands.sh using shell /system/bin/sh : sh

[ 12-20 06:23:59.699   199:0x1e7 I/WindowManager ]
createSurface Window{421dabb0 Toast paused=false}: DRAW NOW PENDING

[ 12-20 06:24:00.113  3092:0xc16 D/dalvikvm ]
GC_CONCURRENT freed 672K, 6% free 14581K/15495K, paused 4ms+3ms
Hi bagl0312, thanks for the feedback.

su and Superuser seems to be not fully reliable yet on ICS and I get reports from issues even with latest versions of the binary and app.

I guess authors need a bit more time ;)


Note: if you still have a copy of the logcat at this time it will show where's the issue.
 

gls9

Senior Member
Nov 13, 2011
234
48
I try to understand how this app is working.:)

A backup is made in /system/su-backup.
When an OTA is applied then all rights in /system/* are changed (for original su and backuped su), so root is gone.

How it is possible to restore su and set rights if root is gone ?
Do you not need root to restore ?
 

gls9

Senior Member
Nov 13, 2011
234
48
Oh sorry it seemed obvious to me.
I call /system/su-backup directly instead of "su" in PATH.

But OTA update reset (mostly) file rights in /system recursive. So then suid bit is also lost in the su-backup and calling the system/su-backup don't give root anymore.

I think I made somewhere a mistake in my understanding but cannot find where it is :confused:

Try to learn everyday :)
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 79
    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:

    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.
    7
    First post updated!

    OTA RootKepper future is very compromised with /system mounted as nosetuid for apps, so please stay tuned.

    You can consider OTA RootKeeper as not capable of preserving root for 4.3 OTAs until further notice, thanks for your interest ;)
    5
    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.
    3
    If people care testing, latest version always here:

    http://dl.project-voodoo.org/apps/VoodooOTARootKeeper.apk

    Need report with Motorola phones.
    2
    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.