I will not be responsible for damage to your device(s) by using this exploit. Antivirus software and Play services will likely detect this as potentially malicious. It is an exploit, deal with it or don't use it. Do not mirror these applications without my permission!
PwnMyMoto is a replacement for my previously released MotoRoot. PwnMyMoto exploits three vulnerabilities, to gain root access, then to gain write to system. This is a traditional root, and doesn't use any 'hackery' to maintain su access unlike MotoRoot.
First we use bug 9695860 (aka second masterkey) to gain system user, then it uses a symlink attack to gain root access. After gaining root we exploit a flaw in the bootloader, allowing us to bypass the write protection applied to system. In the process we remove stock recovery, so OTAs will not be a worry.
Install PwnMyMoto by running:
adb install -r PwnMyMoto-<version and model go here>.apk
We have two (ok more but were not going into that) boot modes. First is normal, which boots regular Android, and in this case boots with system write protected. Second is recovery mode, normally it boots recovery without write protection. Our exploit will hijack recovery bootmode and boot Android without write protection.
After running this exploit, if you boot normally /system will be write protected. If you boot to "recovery", Android will boot without write protection. If you wish to edit system, you must boot into "recovery" to do so, any changes made will stick and will work in either bootmode. My suggestion is to make your changes in "recovery" and run the device day to day in normal mode, until we are certain "recovery" mode will be 100% stable for day to day use.
The exploit will uninstall itself after successful exploitation.
To see if write protection is applied, you can run:
adb shell getprop ro.boot.write_protect
In the future we will have a replacement recovery, but at this time it is still in development. Enjoy.
1.4.3 allows detection of failed su installation (0 size su) and reinstallation)
1.4.1 adds reliability, and fixes issues for users when improper permissions are applied to su (Preventing updates).
1.2 - Bug fix for devices which had recieved OTAs.
If you used 1.1 and have a problem with recovery coming back, run the following command:
adb shell su -c "dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=/dev/block/platform/msm_sdcc.1/by-name/recovery"