@krys1 I confirm you that the procedure described at https://github.com/majad00/ex5601_openwrt_loader worked very well also in my case (Zyxel EX5601-T0 with WindTre firmware V5.70(ACEN.0)b5).
Here below the steps I followed:
1) Launch loader.sh and connect to 192.168.1.1:8080
2) Backup stock firmware
a) using LUCI "System --> Backup / Flash Firmware" functionality (I saved mtd blocks from 0 to 8)
b) using SSH nanddump /dev/mtdX | gzip -1 -c > /tmp/mtdX.dump.gz (where X = 0, 1, ..., 8) (*see below for further details)
3) Flash openwrt stock using LUCI System > Install matrix
4) After router reboot, upgrade openwrt to the latest stable version (25.12.5)
Now, I am going to try the third script to convert OpenWrt stock to ubootmod. Can I proceed or there is a risk to brick my device? There is some point where to pay extra attention?
*Concerning backup stock firmware, I tried to perform a second backup through nanddump (as it is usually suggested as tool for backup and also to see if there is any difference with the LUCI "System --> Backup / Flash Firmware" functionality) but I found some difficulties, probably because I am not so expert in this field.
The problem was that when I SSH to 192.168.1.1, the responding SSH server was the one of the Zyxel firmware, not the one of the openwrt running in RAM (maybe because the IP was the same). So, as I did not know a method to connect to SSH in RAM (maybe I had to change the IP of the openwrt ram LAN?) I followed these "complex" steps:
- install luci-app-ttyd and nand-utils with LUCI
- execute from ttyd LUCI nanddump:
nanddump /dev/mtd0 | gzip -1 -c > /tmp/mtd0.dump.gz
nanddump /dev/mtd1 | gzip -1 -c > /tmp/mtd1.dump.gz
nanddump /dev/mtd2 | gzip -1 -c > /tmp/mtd2.dump.gz
nanddump /dev/mtd3 | gzip -1 -c > /tmp/mtd3.dump.gz
nanddump /dev/mtd4 | gzip -1 -c > /tmp/mtd4.dump.gz
nanddump /dev/mtd5 | gzip -1 -c > /tmp/mtd5.dump.gz
nanddump /dev/mtd6 | gzip -1 -c > /tmp/mtd6.dump.gz
nanddump /dev/mtd7 | gzip -1 -c > /tmp/mtd7.dump.gz
nanddump /dev/mtd8 | gzip -1 -c > /tmp/mtd8.dump.gz
- create a folder accessible via browser to download mtd dumps
mkdir -p /www/files
cp mtd* /www/files/
uci set uhttpd.main.index_page='index.html'
echo "Files" > /www/files/index.html
for f in /www/files/*; do
bn=$(basename "$f")
echo "$bn" >> /www/files/index.html
done
echo "" >> /www/files/index.html
uci commit uhttpd
/etc/init.d/uhttpd restart
I am sure there is a simpler procedure to use nanddump but I did not know it 
Finally, I compared the two kinds of backup and I saw there are some differences, in some cases in dimension, in other cases in content. For example:
mtd0 (spi0-1):
LUCI backup: 50,2 MB (52.690.944 byte)
nanddump: 512 MB (536.870.912 byte)
comparing the two files with HxD: "The file sizes vary. However, the beginning of the largest file is identical to that of the smallest file."
mtd6 (ubi)
LUCI backup: 50,0 MB (52.428.800 byte)
nanddump: 40,8 MB (42.801.097 byte)
comparing the two files with HxD, the files seem to be different
Maybe it is normal but I would like to understand why there are such differences ...
In any case, thank you very much! 