[Fire HD 8 and HD 10 Original Android Development] smartypantsuk:
You'll need a linux distrubution to work from, a live boot cd/usb will work fine.

Don't use WSL (Subsystem for Linux) on Windows 10 as usb support doesn't work properly, or at all, for anything other than usb storage devices.

This guide was part of a larger guide on Github, adapted from Retyre's XDA Guide.

Root on Fire HD10 2017 5.6.9.0 (not tried on other systems)

Download the root exploit code (alternate link SHA256 8bfc3d5c75964e5fa28c8ffa39a87249ba10ea4180f55f546b2dcc286a585ea8) and Super_SU18+ (alternate link SHA256 b572c1a982d1e0baeb571d3bc0df7f6be11b14553c181c9e0bf737cc4a4fbbfd).

wget -c "http://myphone-download.wondershare.cc/mgroot/20165195.zip" "http://myphone-download.wondershare.cc/mgroot/SuperSU_18+.zip"

Unzip them both to a 20165195 directory.

unzip -u 20165195.zip -d 20165195 && unzip -u SuperSU_18+.zip -d 20165195

Check the 20165195 directory contains all the needed files.

$ ls -1 20165195

Matrix

Superuser.apk

ddexe

debuggerd

fileWork

install-recovery.sh

krdem

mount

patch_boot.sh

pidof

push_root.sh

start_wssud.sh

su

su_arm64

supersu.zip

supolicy

toolbox

wsroot.sh

Push the directory to the tablet.

adb push 20165195 /data/local/tmp

Login to the tablet.

adb shell

Make the files executable.

chmod 755 /data/local/tmp/20165195/*

Run the exploit. You should see a lot of output while it runs.

/data/local/tmp/20165195/Matrix /data/local/tmp/20165195 2

If the script executes successfully, the final lines of output should display the memory location that was exploited (may be different than 0x7fab64c000) and a value of 0 for <Exploit> and <Done>. If it fails, check the Troubleshooting section:

exploited 0x7fab64c000=f97cff8c

end!!!!!!!

<WSRoot><Exploit>0</Exploit></WSRoot>

<WSRoot><Done>0</Done></WSRoot>

You can verify root with su.

shell@suez:/ $ su

su

root@suez:/ #

Back on your computer, download SuperSU 2.82 SR5 apk (alternate link SHA256 2c7be9795a408d6fc74bc7286658dfe12252824867c3a2b726c1f3c78cee918b) and install it to the tablet with adb.

adb install "eu.chainfire.supersu_2.82-SR5-282_minAPI9(nodpi)_apkmirror.com.apk"

Open up the SuperSU app on the tablet, tap Get Started, then tap Continue and select Normal to update the app. Select Reboot after it is done installing to reboot the tablet.

After the tablet reboots, open SuperSU app again, tap on Settings tab, then tap Default access, then choose Grant.

Log in to your tablet.

adb shell

Switch to superuser and delete directories /data/data-lib/com.wondershare.DashRoot and /data/data-lib/wondershare.

su

rm -r /data/data-lib/com.wondershare.DashRoot /data/data-lib/wondershare

Once rooted, you can start the main guide on here for TWRP installation and skip past the root part.

Notes: At stage 7, running the exploit, you may find get an error instead of a successful output like above.

If you get this or similar, try rebooting your Fire HD and try again:

<WSRoot><Exploit>0x00000332</Exploit></WSRoot>

check done

sched_setaffinity: Function not implemented<WSRoot><Exploit>0x00000382</Exploit></WSRoot>

FAIL : load1 --> /sepolicy

<WSRoot><Exploit>0x00000341</Exploit></WSRoot>

<WSRoot><Exploit>0x00000881</Exploit></WSRoot>

<WSRoot><Done>0x00000172</Done></WSRoot>

I had to reboot once to get it to work. It's also worth noting that, even though it was successful the second time, i still received a function not implemented error, but it still worked. This is the part that you're looking for to be sucessful:

<WSRoot><Exploit>0</Exploit></WSRoot>

<WSRoot><Done>0</Done></WSRoot>