I am so newbie about this matter.
I have a file XXXX.record file that contains a data.
When I open the file
How can I read this data and modify the values?
thanks.
Reverse Engineering Stack Exchange is a question and answer site for researchers and developers who explore the principles of a system through analysis of its structure, function, and operation. It only takes a minute to sign up.
Sign up to join this communityI am so newbie about this matter.
I have a file XXXX.record file that contains a data.
When I open the file
How can I read this data and modify the values?
thanks.
The first line of your file contains device information - it seems you are reading HT DataLogger's data. From the quick glance, I conclude, this device measures temperature.
Subsequent data looks like an array of floats - one can deduce it from 41
's and 42
's in each 4
-byte block ("reasonable" float numbers usually start with them when written in hex).
To read the data, just take any 4
-byte, block starting with an address divisible by 4
and use this site. However, as you may notice, the order of bytes in each 4
-byte block has to be different than just "left to right", that is, so-called big endian.
Knowing that each number has to start with either 41
or 42
(otherwise resulting numbers would be too high or too low to reflect the temperature), you can conclude that, in fact, number ABCD
really means BADC
, so it's little endian encoding with respect to each 2
bytes.
For example, if you want to decode 01 41 33 33
, you want to convert the number 41 01 33 33
to decimal format (that is ~8.075
Celcius degrees).
Modifying data is rather straightforward - hex editors provide very easy way to do it; just highlight relevant bytes and start typing.
Edit: it is also possible (and more likely) that the numbers are stored in little endian encoding, assuming that the first one begins at address 0012h
. In such a case, 0x421
(21 04 00 00
) is probably the size of the float array.