|
发表于 2025-5-22 14:09:27
|
显示全部楼层
广西壮族自治区玉林市
变量名 | 类 型 | 静态 | 数组 | 备 注 | 数据包长度 | 整数型 | | | 输出包长度 | 整数型 | | | 数据包段数 | 整数型 | | | 返回数据包 | 字节集 | | | 临时字节1 | 字节型 | | | 临时字节2 | 字节型 | | | 临时字节3 | 字节型 | | | 临时字节4 | 字节型 | | | 当前段数 | 整数型 | | |
数据包长度 = 取字节集长度 (被解密数据包 )数据包段数 = (数据包长度 + 3 ) \ 4 被解密数据包 = 被解密数据包 + { 60, 60, 60 }输出包长度 = 数据包段数 × 3 返回数据包 = 取空白字节集 (输出包长度 ) 计次循环首 (数据包段数, 当前段数 ) 临时字节1 = 位与 (被解密数据包 [当前段数 × 4 - 3 ] - 60, 63 ) 临时字节2 = 位与 (被解密数据包 [当前段数 × 4 - 2 ] - 60, 63 ) 临时字节3 = 位与 (被解密数据包 [当前段数 × 4 - 1 ] - 60, 63 ) 临时字节4 = 位与 (被解密数据包 [当前段数 × 4 ] - 60, 63 ) 返回数据包 [当前段数 × 3 - 2 ] = 位或 (位与 (临时字节1, 63 ) × 4, 位与 (临时字节2, 48 ) \ 16 ) 返回数据包 [当前段数 × 3 - 1 ] = 位或 (位与 (临时字节2, 15 ) × 16, 位与 (临时字节3, 60 ) \ 4 ) 返回数据包 [当前段数 × 3 ] = 位或 (位与 (临时字节3, 3 ) × 64, 临时字节4 ) 计次循环尾 () 如果真 (数据包长度 < 数据包段数 × 4 ) 返回 (取字节集左边 (返回数据包, 输出包长度 - 数据包段数 × 4 + 数据包长度 )) 返回 (返回数据包)
去头去序号 去尾 转成字节集 直接解密
|
|