从二进制数据库中提取压缩数据

时间:2019-09-09 18:01:37

标签: c# binary compression

我有一个c-treeAce数据库,它以压缩形式存储其数据。我相信它正在使用zlib,但我无法确定。一旦我越过了初始标头信息,这似乎就是压缩形式的前几对记录。

int

我知道保存的数据具有以下字段:

private static ArrayList<Player> getWinners(ArrayList<Player> players)
{
    ArrayList<Player> l = new ArrayList<Player>();
    int maxPoints = -1; //Assuming it is not possible to have negative points

    for (int i = 0; i < players.size(); i++)
    {
        int points = players.get(i).getPoints();
        if (points >= maxPoints) {
            if (points > maxPoints) {
                l.clear(); //Clear the return list, since a new "best score" was found
            }
            maxPoints = points;
            l.add(players.get(i));
        }
    }
    return l; 
}

我有以下基本的解压缩方法:

80 32 E4 96 48 59 0B BD 6F 21 D3 85 37 E9 FA AC 5E 10 C2 74 26 D8 8A 9B 
4D FF B1 63 15 C7 79 2B 3C EE A0 52 04 B6 68 1A CC DD 8F 41 F3 A5 57 09 BB 
6D 7E 30 E2 94 46 F8 AA 5C 0E 1F D1 83 35 E7 99 4B FD AF C0 72 24 D6 88 3A 
EC 9E 50 61 13 C5 77 29 DB 8D 3F F1 02 B4 66 18 CA 7C 2E E0 92 A3 55 07 B9 
6B 1D CF 81 33 44 F6 A8 5A 0C BE 70 22 D4 E5 97 49 FB AD 5F 11 C3 75 86 38 
EA 9C 4E 00 B2 64 16 27 D9 8B 3D EF A1 53 05 B7 C8 7A 2C DE 90 42 F4 A6 58 
69 1B CD 7F 31 E3 95 47 F9 0A BC 6E 20 D2 84 36 E8 9A AB 5D 0F C1 73 25 D7 
89 3B 4C FE B0 62 14 C6 78 2A DC ED 9F 51 03 B5 67 19 CB 7D 8E 40 F2 A4 56 
08 BA 6C 1E 2F E1 93 45 F7 A9 5B 0D BF D0 82 34 E6 98 4A FC AE 60 71 23 D5 
87 39 EB 9D 4F 01 12 C4 76 28 DA 8C 3E F0 A2 B3 65 17 C9 7B 2D DF 91 43 54 
06 B8 6A 1C CE 80 32 E4 F5 A7 59 0B BD 6F 21 D3 85 96 48 FA AC 5E 10 C2 74 
26 37 E9 9B 4D FF B1 63 15 C7 D8 8A 3C EE A0 52 04 B6 68 79 2B DD 8F 41 F3 
A5 57 09 1A CC 7E 30 E2 94 46 F8 AA BB 6D 1F D1 83 35 E7 99 4B 5C 0E C0 72 
24 D6 88 3A EC FD AF 61 13 C5 77 29 DB 8D 9E 50 02 B4 66 18 CA 7C 2E 3F F1 
A3 55 07 B9 6B 1D CF E0 92 44 F6 A8 5A 0C BE 70 81 33 E5 97 49 FB AD 5F 11 
22 D4 86 38 EA 9C 4E 00 B2 C3 75 27 D9 8B 3D EF A1 53 64 16 C8 7A 2C DE 90 
42 F4 05 B7 69 1B CD 7F 31 E3 95 A6 58 0A BC 6E 20 D2 84 36 47 F9 AB 5D 0F 
C1 73 25 D7 E8 9A 4C FE B0 62 14 C6 78 89 3B ED 9F 51 03 B5 67 19 2A DC 8E 
40 F2 A4 56 08 BA CB 7D 2F E1 93 45 F7 A9 5B 6C 1E D0 82 34 E6 98 4A FC 0D 
BF 71 23 D5 87 39 EB 9D AE 60 12 C4 76 28 DA 8C 3E 4F 01 B3 65 17 C9 7B 2D 
DF F0 A2 A2 54 B8 8A 1C CE 68 91 43 F5 A7 59 0B BD F5 22 32 E4 ED 41 FA AC 
5E 10 C2 D3 4D 37 E9 9B A3 CA AA BE F1 55 1D 8A 3C EE A0 52 04 15 C7 79 2B 
DD 8F 41 F3 A5 B6 68 1A CC 7E 30 E2 94 46 57 30 E2 94 46 F8 AA 5C 0E 1F D1 
83 35 E7 99 4B FD AF C0 72 24 D6 88 3A EC 9E 50 61 13 C5 77 29 DB 8D 3F F1 
02 B4 66 18 CA 7C 2E E0 92 A3 55 07 B9 6B 1D CF 81 33 44 F6 A8 5A 0C BE 70 
22 D4 E5 97 49 FB AD 5F 11 C3 75 86 38 EA 9C 4E 00 B2 64 16 27 D9 8B 3D EF 
A1 53 05 B7 C8 7A 2C DE 90 42 F4 A6 58 69 1B CD 7F 31 E3 95 47 F9 0A BC 6E 
20 D2 84 36 E8 9A AB 5D 0F C1 73 25 D7 89 3B 4C FE B0 62 14 C6 78 2A DC ED 
9F 51 03 B5 67 19 CB 7D 8E 40 F2 A4 56 08 BA 6C 1E 2F E1 93 45 F7 A9 5B 0D 
BF D0 82 34 E6 98 4A FC AE 60 71 23 D5 87 39 EB 9D 4F 01 12 C4 76 28 DA 8C 
3E F0 A2 B3 65 17 C9 7B 2D DF 91 43 54 06 B8 6A 1C CE

然后我尝试使用起点和字节的每种可能组合来遍历文件,以使用以下内容进行解压缩,但我一无所获

timestamp   8
character   50
character   50
varchar 4096

假定行的压缩长度小于未压缩的行的4200,似乎应该已经找到至少一个可以解压缩的字节数组。

0 个答案:

没有答案
相关问题