NOTE: The latest T-Mobile USA OTA update (ver. 20F) is confirmed to still work with this method.
This has proven to work on a variety of phones across the P76* line including:
Phones with the Canada WindMobile ROM
DO NOT THANK ME. INSTEAD THANK JCASE, WHO DID ALL THE WORK. I'M JUST A PARROT. BAWK.
First, we must make sure you have spritebud. No it isn't a soda/beer mix! You can check for this either via ADB or through the app Terminal Emulator. Unhide the code for your selected method.
adb shell ls -l /system/xbin/spritebud
ls -l /system/xbin/spritebud
If you get any error message along the lines of "no such file or directory", then you my friend are unable to root. Otherwise, you should be presented with information about spritebud, and that is your golden ticket to root.
Now that you know whether or not you are able to root, let us carry on for those who can.
I have written a thin guide on achieving root based on the steps that jcase has provided. They are as follows:
Download LGPwn.apk attached to this post
Install LGPwn.apk on your device
READ popup message
Press "root me" to carry on the next part
When Backup has launched, choose Restore
Choose Internal storage
Hit OK at the popup about Cross Model Restore
Make sure the Applications checkbox is checked, then select Continue
Let the app finish the restoring process[/code]
Once your decive has finished the restore process, you may ither reboot your phone from the current screen, or you may immediately head to the Play Store. Whichever choice you make, your next step is to download SuperSu from the Play Store and install it. When prompted, select normal install, and you sohuld be good to go with regards to root.
Congratulations! New root get!
Original post: http://forum.xda-developers.com/show...9#post42938989
Original post quoted:
Race condition in Sprite Software's backup software, installed by OEM on LG Android devices.
Justin Case - email@example.com
Locally exploited vulnerability with minimal device user interaction which results in executing code as the root user. Under specific circumstances, it is possible to exploit this vulnerability without the device user's knowledge
Potentially other vendors
Likely others versions as well
Affected Devices (Subject to firmware configuration):
LG-E971 LG Optimus G
LG-E973 LG Optimus G
LG-E975 LG Optimus G
LG-E975K LG Optimus G
LG-E975T LG Optimus G
LG-E976 LG Optimus G
LG-E977 LG Optimus G
LG-F100K LG Optimus Vu
LG-F100L LG Optimus Vu
LG-F100S LG Optimus Vu
LG-F120K LG Optimus Vu
LG-F120L LG Optimus LTE Tag
LG-F120S LG Optimus LTE Tag
LG-F160K LG Optimus LTE 2
LG-F160L LG Optimus LTE 2
LG-F160LV LG Optimus LTE 2
LG-F160S LG Optimus LTE 2
LG-F180K LG Optimus G
LG-F180L LG Optimus G
LG-F180S LG Optimus G
LG-F200K LG Optimus Vu 2
LG-F200L LG Optimus Vu 2
LG-F200S LG Optimus Vu 2
LG-F240K LG Optimus G Pro
LG-F240L LG Optimus G Pro
LG-F240S LG Optimus G Pro
LG-F260K LG Optimus LTE 3
LG-F260L LG Optimus LTE 3
LG-F260S LG Optimus LTE 3
LG-L21 LG Optimus G
LG-LG870 LG (Unknown)
LG-LS860 LG Mach
LG-LS970 LG Optimus G
LG-P760 LG Optimus L9
LG-P769 LG Optimus L9
LG-P780 LG Optimus L7
LG-P875 LG Optimus F5
LG-P875h LG Optimus F5
LG-P880 LG Optimus 4X HD
LG-P940 LG Prada
LG-SU540 LG Prada 3.0
LG-SU870 LG Optimus 3D Cube
LG-US780 LG Lollipop
Potentially other devices as well.
"Backup" and "spritebud" are a setting and application backup/restore system written by Sprite Software and deployed on LG Android smartphones. "Backup" is the end user front end app, and "spritebud" is the service that preforms the backup and restore functions.
The "spritebud" daemon is started by the init scripts and runs as the root user. Listening on a unix socket, the daemon accepts instructions from the "Backup" app. Using a crafted backup, we can write to, change permission and change ownership of any file, being that "spritebud" is running under the root user.
The crafted backup contains restore data for our exploiting application, "com.cunninglogic.lgpwn". The data includes a 50mb dummy file (a) used to increase our exploit window, su binary (b), a script (c) to install su, and a text file (d) containing the path to our script. All files are owned by the application, and are world write/read/execute. All files are restored in alphabetical order. The entire backup, after compress, is approximately 2mb. The structure of this backup is as follows:
drwxrwxrwx u0_a114 u0_a114 2013-05-28 20:13 files
- -rwxr-xr-x u0_a114 u0_a114 52428800 2013-05-22 20:06 a
- -rwxr-xr-x u0_a114 u0_a114 91992 2013-05-22 20:07 b
- -rwxr-xr-x u0_a114 u0_a114 251 2013-05-22 20:12 c
- -rwxr-xr-x u0_a114 u0_a114 42 2013-05-22 20:07 d
Prior to restoration, our exploit app runs, watches the process and waits. During restoration, the spritebud daemon first creates the files directory, then sets it's permission and owner. Next it decompresses and restores the "a" file, our 50mb dummy files. During the restoration of "a", our exploit application has time to symlink "d", our text file containing the full path to our script (c), to /sys/kernel/uevent_helper. Upon restoration of file "d", our path is written to uevent_helper. When a hotplug even occurs (which occur every few seconds), the path contained in uevent_helper is execute by the kernel and our script (c) is executed and installs the su binary (b).