小编szu*_*lak的帖子

什么可能导致无效距离太远以及如何修改 zlib 来修复它?

我正在尝试解压缩来自第三方源的原始数据流。数据使用zlib库(版本1.2.13)压缩并通过TCP协议传输。我能够使用 WireShark 和逆向工程方法的组合来捕获压缩和未压缩的数据流:

压缩形式:0xCA 0x05 0xDB 0xC8 0xE8 0x07 0x22 0x01 0x00

未压缩形式:0x6D 0x4D 0x7D 0x9B 0x7C 0x07 0x01 0x4E 0x7D 0x9B 0x7C 0x07 0x00

    z_stream strm;
    unsigned char in[9] = {0xCA, 0x05, 0xDB, 0xC8, 0xE8, 0x07, 0x22, 0x01, 0x00};
    unsigned char out[65535] = {0};

    strm.zalloc = Z_NULL;
    strm.zfree = Z_NULL;
    strm.opaque = Z_NULL;

    int ret = inflateInit2(&strm, -15);
    if (ret != Z_OK)
        return ret;

    strm.next_in = (unsigned char *) in;
    strm.avail_in = 9;
    strm.next_out = (unsigned char …
Run Code Online (Sandbox Code Playgroud)

c c++ zlib

2
推荐指数
1
解决办法
1020
查看次数

标签 统计

c ×1

c++ ×1

zlib ×1