[LG V20 Guides, News, & Discussion] mingkee:
Note: This method works with both 10i and 10j

I have read few posts arguing can root be done with 10i. I have been hesitant until last night. After I fixed USB 3.1 problem by updating the driver, I decided to give a try.

I updated mine with LG Bridge in order to grab an important file (a dll required for LGUP) and I made it. It's in

c:\users\(username)\Local\LG Electronics\LG Bridge\SW upgrade\

The dll file doesn't show up until the phones starts update, so timing is important.

Now, here is the instruction how to root with dirtycow method. I had problem with Easycow (no command error), so I have to do it manually to enter command one by one.

References:

https://xdaforums.com/v20/development/h918-recowvery-unlock-v20-root-shell-t3490594 (instruction and link to all files)

https://build.nethunter.com/android-tools/dirtycow/arm64/ (all required files. Copy all of them where your ADB folder is)

https://github.com/jcadduono/android_external_dirtycow#running (all the commands)

https://build.nethunter.com/test-builds/twrp/lge/twrp-3.0.2-1-h918.img (TWRP image. Rename it to twrp.img and put it into

internal storage

)

https://download.chainfire.eu/supersu (SuperSU. Put the file into

memory card

)

Prerequisites:

Your LG driver must be up to date. I have problem with USB 3.1 cable until the driver is up to date.

ADB installed and copy the address, and put all recowvery files into the folder (\sdk\platform-tools)

Rename TWRP file to twrp.img and put it into

internal storage

Copy SuperSU into

memory card

You must be in 100% stock ROM. Rooted or not.

USB debugging enabled and allowed your host computer.

Bootloader unlocked (you should see a warning on boot) and OEM unlock allowed in Developer Settings

Use LG Backup to backup internal storage and all apps into your

memory card

Setup a temporary PIN

Steps:

1. Plug your phone to your host computer. Make sure it's in MTP mode.

2. Open your command prompt:

cd\
cd (right click your mouse and paste the ADB platform-tools address)
adb devices

This will show your connected phone (LGE Elsa)

3. Enter the following prompt: (you can simply highlight, copy, right click on command prompt and choose paste)

adb push dirtycow /data/local/tmp
adb push recowvery-applypatch /data/local/tmp
adb push recowvery-app_process64 /data/local/tmp
adb push recowvery-run-as /data/local/tmp

adb shell

cd /data/local/tmp
chmod 0777 *
./dirtycow /system/bin/applypatch recowvery-applypatch

On ADB shell mode, you should see $ on the front. Wait for few minutes.

./dirtycow /system/bin/app_process64 recowvery-app_process64

Your phone screen may look weird. Wait for another few minutes.

Type

exit

when finished.

4. Type in:

adb logcat -s recowvery

You should see a lot of lines comes across your screen. Wait for few minutes and press and hold Ctrl and press C once.

adb shell reboot recovery

Your phone will return to stock recovery.

adb shell

A $ sign will show up

getenforce

It should show Permissive.

5. Temp root

Type in:

cd /data/local/tmp
./dirtycow /system/bin/run-as recowvery-run-as
run-as exec ./recowvery-applypatch boot

The boot image will be patched.

run-as su

A # sign should show up. it means you have a temp root.

6. Flash TWRP

dd if=/sdcard/twrp.img of=/dev/block/bootdevice/by-name/recovery
exit
reboot recovery

6. Rooting

Your phone should be in TWRP.

Enter PIN you previously setup

Allow modifications

You may not be able to see internal storage. That's why you have to put SuperSU into memory card. Locate SuperSU and install it.

If everything went well, just reboot. You may want to wipe cache and dalvik cache.

Reboot

Update SuperSU binary if necessary