NOTE: This extraction method may not work on WSL. If you are having errors after trying all steps, try switching from WSL to a full Linux installation.
sudo apt install gcc-arm-linux-gnueabi qemu qemu-user-static qemu-system-arm
arm-linux-gnueabi-gcc xsr_stl.ko main.c -o main
export QEMU_LD_PREFIX=/usr/arm-linux-gnueabi ./main onenand.bin onenand.oob B output.bin
export QEMU_LD_PREFIX=/usr/arm-linux-gnueabi ./main onenand.bin onenand.oob A output.bin
export QEMU_LD_PREFIX=/usr/arm-linux-gnueabi ./main onenand.bin onenand.oob F output.bin
export QEMU_LD_PREFIX=/usr/arm-linux-gnueabi ./main onenand.bin onenand.oob 8 output.bin
After this, you must use TestDisk to acquire the data.
NOTE: If TestDisk says that the partition(s) can't be recovered, try [UNDELETE] instead of Analyze. This applies to Mitsubishi phones such as D705i and D705iu.