This patched flasher must only be used with the Asus BC-12D2HT. I tested it with my own drive which was manufactured the 28/12/2017 and with 3.01 firmware out of the box.
Since this patcher is based on Asus official patcher, it will automatically update your drive firmware to the 3.00 version (embedded key will be kept).
This solution is safer and simpler than the SPI flash method (with DOSFLASH) because all the flash processing is done by Asus official flasher. In theory, firmware back-up is not needed but I strongly recommend to still have a back-up.
How to flash:
- Start the patched flasher
- Click on "START"
- Wait for the "FW Updating Completed Sucessfully" pop-up
- Click on "OK"
- Click on "EXIT"
I downloaded the Asus BC-12D2HT 3.01 firmware official flasher from Asus website.
I dumped my own drive 3.01 firmware with the DOSFLASH method.
I downloaded the Asus BC-12D2HT 3.00 firmware which was kindly uploaded by flynn.
The official 3.01 firmware present in the Asus official flasher start at offset 0x070EA0 and end at 0x270E9F (2 MB).
There is no difference between my own 3.01 firmware and the official 3.01 firmware before offset 0x1E0000. We can conclude this part doesn't contain embedded key, configuration, log...
The next part (starting from offset 0x1E0000) of my own firmware has a similar structure with the 3.00 firmware from flynn but the values are not the same. This confirms that this part contains the embedded key (and other stuff).
But in the official 3.01 firmware it is mostly blocks of 0 (0x00) or blocks of 1 (0xFF), which indicates the flasher (or the drive) will automaticaly replace those blocks with the values of the previous firmware.
Note there is one exception to that from offset 0x1EC000 to 0x1EC056 but we will get back to that later:
In the end, I simply replaced the block starting at offset 0x000000 to 0x1DFFFF by the same block from flynn 3.00 firmware. Which corresponds to the block starting at offset 0x70EA0 to 0x250E9F in the official Asus flasher.
Then I replaced the block from offset 0x1EC000 to 0x1EC055 in the official 3.01 firmware by the same block from flynn 3.00 firmware. Which corresponds to the block starting at offset 0x25CEA0 to 0x25CEF5 in the official Asus flasher.
Thanks to mike_admin, we know that there is a downgrade enable byte at offset 0x0x1EC056 which should be set to 0xDE to enable downgrade. Hence I replace this byte from 0xFF (disable) to 0xDE (enable). viewtopic.php?f=16&t=18873#p70277