【发布时间】:2019-04-21 14:37:04
【问题描述】:
尝试从我的供暖系统将 4 个十六进制值逆向工程为 DateTime 标记
我知道:
5F:A2:30:77 --> 2019.03-10 - 10:08
6D:A2:30:77 --> 2019.03-10 - 10:21
我的第一个猜测是这是 Unix 时间戳,因此将 HEX 转换为 DEC 并转换为 32 位 int = >
5F:A2:30:77 -> 1999675999 equivalent to 2033-05-14T09:33:19+00:00 in ISO 8601
6D:A2:30:77 -> 1999676013 equivalent to 2033-05-14T09:33:33+00:00 in ISO 8601
但不幸的是,这不起作用
希望有人知道如何转换它。
谢谢
//金
【问题讨论】:
-
这里没有足够的信息来提供帮助。什么样的供暖系统?有 API 吗?您怎么知道您拥有的值是时间戳而不是其他值?你怎么知道它们等同于那些日期和时间?乍一看,只有第一段发生了变化,这让我想到如果它们是时间戳,那么较小的部分在前面。但是
6D-5F是 14 秒的差异,而不是对应值中的 13 秒。那么你知道那些是 exact 值吗?还是它们是近似值? -
自启动以来系统保持任意数量的某个时间单位(秒等)也完全有可能,并且启动时的日期/时间存储在其他地方,因此不会在这些值中传达.
-
嗨,马特。该系统无关紧要,但它是 Vølund PB100 颗粒锅炉。那些为锅炉制造控制器的人有他们自己的在线系统,但这项工作真的很糟糕,因此我们是一些正在制造自己的人:-) 是的,我知道有 14 个不同,但希望系统只是将值四舍五入。我很确定这不是任意系统。这是一张图片。 imgbox.com/UXclSYXS
-
有一个用于逆向工程的堆栈交换,如果有帮助的话。也许考虑一个交叉帖子?这个问题同样适用于任何一个。
-
图片没有帮助,但如果您有更多来自不同日期和时间的示例,那就可以了。这里还不够继续。
标签: datetime timestamp hex decimal reverse-engineering