【问题标题】:What does the String 'ACED00057400' represent?字符串“ACED00057400”代表什么?
【发布时间】:2020-01-17 13:14:14
【问题描述】:

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

上下文中的示例 xml:

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

有些用户可能会搜索 ACED0005740 或 ACED000574。

【问题讨论】:

    标签: java serializable


    【解决方案1】:

    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 的类的源代码或库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-11
      • 2022-01-21
      • 2011-03-02
      • 2016-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多