Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Windows注册表解码REG_二进制日期?_Windows_Date_Format_Registry_Decode - Fatal编程技术网

如何从Windows注册表解码REG_二进制日期?

如何从Windows注册表解码REG_二进制日期?,windows,date,format,registry,decode,Windows,Date,Format,Registry,Decode,我正在尝试解码Windows注册表中编码为REG_二进制的日期。具体到今天: SignaturesLastUpdated REG_BINARY 720CB9EBE8CBCE01 这将在2013年实现 知道如何手动解码吗?(即不使用任何内置的C或C++库)< P>这是一个定义为: 包含表示100纳秒数的64位值 自1601年1月1日(UTC)起的间隔时间 结构如下所示: typedef struct _FILETIME { DWORD dwLowDateTime; DWORD

我正在尝试解码Windows注册表中编码为REG_二进制的日期。具体到今天:

SignaturesLastUpdated    REG_BINARY    720CB9EBE8CBCE01
这将在2013年实现

知道如何手动解码吗?(即不使用任何内置的C或C++库)

< P>这是一个定义为:

包含表示100纳秒数的64位值 自1601年1月1日(UTC)起的间隔时间

结构如下所示:

typedef struct _FILETIME {
  DWORD dwLowDateTime;
  DWORD dwHighDateTime;
} FILETIME, *PFILETIME, *LPFILETIME;
成员

dwLowDateTime 文件时间的低阶部分

dwHighDateTime 文件时间的高阶部分

下面是如何将其转换为Unix时间(in-Go):

键入Filetime结构{
LowDateTime uint32
HighDateTime uint32
}
//纳秒以纳秒为单位返回Filetime ft
//自大纪元(UTC,1970年1月1日,00:00:00)起。
func(ft*Filetime)纳秒()int64{
//从1601年1月1日起每隔100纳秒
nsec:=int64(ft.HighDateTime)它是一个定义为:

包含表示100纳秒数的64位值 自1601年1月1日(UTC)起的间隔时间

结构如下所示:

typedef struct _FILETIME {
  DWORD dwLowDateTime;
  DWORD dwHighDateTime;
} FILETIME, *PFILETIME, *LPFILETIME;
成员

dwLowDateTime 文件时间的低阶部分

dwHighDateTime 文件时间的高阶部分

下面是如何将其转换为Unix时间(in-Go):

键入Filetime结构{
LowDateTime uint32
HighDateTime uint32
}
//纳秒以纳秒为单位返回Filetime ft
//自大纪元(UTC,1970年1月1日,00:00:00)起。
func(ft*Filetime)纳秒()int64{
//从1601年1月1日起每隔100纳秒

nsec:=int64(ft.HighDateTime)该值太大,无法用普通Windows格式表示时间,100纳秒是常用的最小时间单位。这很可能是故意加密的。您肯定知道编写代码的程序员(知道的程序员)何时没有响应您的支持请求。没有在中存储日期的标准注册表。您必须检查该注册表项的文档。它应该解释格式。该值太大,无法表示普通Windows格式中的时间,100纳秒是常用的最小时间单位。这很可能是故意加密的。您肯定知道编写代码(知道的代码)没有响应您的支持请求。注册表中没有存储日期的标准。您必须检查该注册表项的文档。它应该解释格式。谢谢,我不再需要它,但可能对其他人有用。谢谢,我不再需要它,但可能对其他人有用.