Skip to main content

NpcDataParams表逆向

NpcDataParams.Data 解码

这个data字段是一个Image的二进制格式,经过逆向得到如下信息:

加密方式

  • DES_ncbc_encrypt (zeropadding CBC)

加密逻辑

  • 加密的数据, 第一个字节就是你自己输入的那个,第二个三个是根据第一个字节计算出来的,后边的数据就是des cbc加密的但是密钥跟第一个字节有关,有256个密钥密文第一个字节就是指定第几个密钥

  • 加密数据需要是8字节的整数倍,如果后边补0(十六进制)

    // 计算第二个,第三个字节
    v12 = 0;
    for ( i = 0; i < v5; ++i )
    v12 = v15[(unsigned __int8)v12 ^ *(unsigned __int8 *)(i + a2)] ^ (v12 >> 8);

    v5 是明文长度, v15是一个数组,a2就是明文

    第二个字节就是v12

    第三个字节是 v12>>8

  • 解密之后的数据带0,如果需要加密数据需要去掉多余的0再执行加密操作,加密的时候时候也要补0

  • gbk编码

  • 最后,算hash的数据也得是8 的整数,后边补0即可