Downgrading to 1.2 is possible, it's just problematic. /shrug
The following is just for the curious to see what kind of effort might go into a downgrade hack.
I've been mulling it over. If I had to work out a downgrade hack to make 1.2 firmware work in a 1.3 upgraded router, here's the things I'd have to do:
1. Look at the 1.3 binary code to figure out where the application entry point is. (not too hard)
2.Take the 1.2 binary code and prepend a padding block just the right size so that when the 1.2 code is loaded by the 1.3 loader, the entry point of the 1.2 code is positioned at the same address it used to live at in a 1.2 system. (easy)
3. Insert a jump instruction at the beginning of my new padding block (the 1.3 entry point) to jump to the beginning of the 1.2 code. (easy)
4. Figure out what checksum algorithm the bootloader uses during POST to determine when a valid application block is present, and where in the application code that checksum is located. (medium hard. gonna guess it's crc32 and try the usual seed values, then try other methods if that isn't it)
5. Calculate a the new checksum for my padded 1.2 firmware and put it in at the right address. (easy if I did #4 right)
6. Upload my hacked 1.2 image into a 1.3 router.
7. Hope the 1.2 application code doesn't make any absolute reference to bootloader routines because the 1.2 app code is now running on a 1.3 bootloader and things wont be in the same place. (forget about it. Not worthwhile to continue if this is the case)
Oh and of course I have to decrypt the original bin file before I can work on it, and re-encrypt it after each attempt I make to get the padding and checksum right. D-link doesn't want their executable being scammed by a competitor making cloned hardware. Personally I would have taken the time to use at least an RC4 cipher to make it really hard on me. And what... the image is divided into blocks, each with it's own checksum? If not, I would have done that too.
ok bye