【问题标题】:How to decode hexadecimal number in IBM/360 column binary format如何以 IBM/360 列二进制格式解码十六进制数
【发布时间】:2021-05-27 03:41:58
【问题描述】:

我有一条消息:

x2400\x1100\x2001\x1020\x2100\x0900\x2008\x2012\x0900\x1001\x2001\x1010\x2001\x0900\x0802\x0812\x1200\x2010\x0802\x1004\x0820\x1010\x2100\x2002\x1012

它采用 IBM 列二进制格式。我读了一些文档,但不能自己做。

https://www.masswerk.at/keypunch/?q=Mr.%20Donald%20F.%20Draper,%20104%20WAVERLY%20PLACE,%20APT%203R,%20NEW%20YORK,%20NY

【问题讨论】:

  • 你回复后我会删除这条评论。您能否回答:您是否从其他问题中编码了该代码:46f153285194qo6s31gv3kc71oj59513393q86i8?

标签: c# binary decode


【解决方案1】:

解码后的消息是:

ALIMCTF(TRINITY'KEYPUNCH) 

为了解码消息,必须考虑以下几点:

  • 每个字符由两个字节标识,例如\x2400 对应于A

  • 在第一步中,两个字节必须分别解码。为此,必须使用已发布链接(高级用法部分)中的 IBM/360 列二进制格式 (cbf)。每个位都分配给一个特定的位置,例如如果字节 1 的值为 0x20,则对应于位 5,因此对应于位置 Y。类似地对于字节 2,例如如果字节 2 的值为 0x12 = 0x10 + 0x02,则这对应于位 41,因此对应于位置 58。总的来说,这导致了Y58 或简称Y58 的位置。

  • 在第二步中,必须识别由位置确定的字符。为此,必须使用发布的链接(使用部分)中的 IBM 029 keypunch。例如。位置Y58 确定字符(

如果对整个消息执行此操作,则会产生下表:

Message Byte1,  Byte2   Byte1,  Byte2,  Position    Character
        hex     hex     cbf     cbf                 IBM 029
\x2400  24      00      Y1      0       Y1          A                       
\x1100  11      00      X3      0       X3          L
\x2001  20      01      Y       9       Y9          I       
\x1020  10      20      X       4       X4          M           
\x2100  21      00      Y3      0       Y3          C
\x0900  09      00      03      0       03          T
\x2008  20      08      Y       6       Y6          F   
\x2012  20      12      Y       58      Y58         (
\x0900  09      00      03      0       03          T   
\x1001  10      01      X       9       X9          R
\x2001  20      01      Y       9       Y9          I
\x1010  10      10      X       5       X5          N
\x2001  20      01      Y       9       Y9          I
\x0900  09      00      03      0       03          T   
\x0802  08      02      0       8       08          Y
\x0812  08      12      0       58      58          '
\x1200  12      00      X2      0       X2          K
\x2010  20      10      Y       5       Y5          E
\x0802  08      02      0       8       08          Y
\x1004  10      04      X       7       X7          P
\x0820  08      20      0       4       04          U
\x1010  10      10      X       5       X5          N
\x2100  21      00      Y3      0       Y3          C
\x2002  20      02      Y       8       Y8          H       
\x1012  10      12      X       58      X58         )

解码后的消息在最后一列的位置(从上到下读取)。

【讨论】:

    猜你喜欢
    • 2019-03-07
    • 1970-01-01
    • 2020-05-09
    • 2015-02-14
    • 1970-01-01
    • 2023-03-15
    • 2020-11-11
    • 2014-10-30
    • 2010-09-17
    相关资源
    最近更新 更多