| Products > Test Equipment |
| Siglent .ads firmware file format |
| << < (15/85) > >> |
| janekivi:
--- Quote from: tv84 on May 31, 2017, 06:53:48 pm ---....... I also have a Rigol scope so might have a look at that. ....... The goal is: as usual, just for fun. --- End quote --- This is here... but we were far away from fun, we want to change PLUSES to PULSES https://www.eevblog.com/forum/testgear/rigol-dsxxxx-gel-firmware-file-format/ |
| tv84:
ro_uImage and rw_uImage both have a GZIP stream starting at 0x4966 with no valid header but with valid CRC32+Size. That's easy for my scanner. :) I'll have a look at the RIGOL efforts... Will be difficult to help you guys. |
| janekivi:
http://www.garykessler.net/library/file_sigs.html 1F 8B 08 is GZIP header at 495C, there was no problems but normal UBI-reader is hard to find. Couple of times I was successful with ubidump but now I use something with Ubuntu. |
| tv84:
Sorry for that. You're right, the magic bytes were there. I'm so accustomed to finding deflate compression with no headers and no footers that many times I forget the easy way which is: the file is totally in there... ::) |
| janekivi:
Yeah, I didn't try this before, but they use the same CRC calculation methods everywhere. Somewhere output is 32 bit and in SDS it is 8 bit. And they can be used as MSB or LSB first. --- Code: ---import functools # If you have file input = 'File' data = bytearray(open(input, 'rb').read()) # Or data can be declared directly # data = bytes([0x02,0x00,0x00,0x04,0x00,0x00]); csum = functools.reduce(lambda x,y: x+y, data, 0) csum = ~csum + 1 csum = csum & 0xffffffff # the only difference is here print (format(csum, 'X'),"- 32 bit checksum") csum = csum & 0xff # the only difference is here print (" ",format(csum, 'X'),"- 8 bit checksum") --- End code --- |
| Navigation |
| Message Index |
| Next page |
| Previous page |