字符串“ ACED00057400”代表什么?

时间:2019-09-16 16:51:04

标签: java serializable

在XML文件中,我看到许多元素的属性以ACED00057400开头。这是什么意思?我该如何解析?例如,我看到ACED00057400095245434F4D4D454E44ACED000574000566616C7365并想对其进行解码。

在上下文中采样xml:

.
.
.
<vals>ACED00057400095245434F4D4D454E44</vals>
<vals>ACED000574000566616C7365</vals>
.
.
.

1 个答案:

答案 0 :(得分:2)

ACED00057400是本文描述的Java序列化使用的魔术字节的十六进制编码:What Do WebLogic, WebSphere, JBoss, Jenkins, OpenNMS, and Your Application Have in Common? This Vulnerability. By @breenmachine

通常,您可以使用十六进制文本转换器对其进行解码。在您提供的两个示例中,将是:

  • ACED00057400095245434F4D4D454E44¬ít RECOMMEND
  • ACED000574000566616C7365¬ítfalse

注意:文本将不能正确转换为字符串,因为它包含的字节显示不正确。例如,十六进制的00是ASCII的null。您可以截断ACED00057400,它是一个字符串,那么转换就可以了。

但是,有时Java程序会序列化一个对象,它看起来像胡言乱语。在这种情况下,您将需要实现Serializable的类的源代码或库。