如何读取数据库中的blob字段

下面是图片为sql查询穿戴的装备

如何读取数据库中的blob字段
首先要知道的是这个数据是经过zlib压缩的,所以我不可能找到任何和身上相关的数据,例如装备的id, 所以,第一步,就是解压缩

1.使用mysql自带的解压缩方法

如何读取数据库中的blob字段

2.要知道,本身blob的数据是二进制的,只是这里显示的是十六进制,在使用java或者python,c++还是其他,都有zlib解压的工具类。如果要使用这些工具类,要注意的是,解压缩前,要丢弃前四个字节。原因大概是如下图
如何读取数据库中的blob字段
java的解压方式如下

如何读取数据库中的blob字段
解压之后,我们会看到这里解压之后是732字节,转换为二进制就是如下的结果
00000000000000010110000001110010000…..
0101的结果,解析主要是看懂这部分内容

我之前发过,每个格子是61个字节,对应的字节翻译如下
0 封装/魔法封印
1 类型 1装备 8时装 5 6
2-5 装备id
6 强化等级
7-10 装备品级
11-12 耐久度
13-16 宝珠
17 增幅 1体力 2精神 3力量 4智力
18-19 增幅附加值 最大65536
31-32 异界气息
37-50 魔法封印,具体可以看看神牛的教程,或者插件相关的代码
51 锻造等级

反编译看读的几个字节 然后穿不同的装备比较

之前解压缩后的二进制 就需要每61个字节,即61*8个数字。
我们在智力以2-5个字节,装备id为教程

加压后的二进制如下
如何读取数据库中的blob字段
装备id对应的字节为

如何读取数据库中的blob字段

操作系统在处理二进制是分高位和低位的,
这里不用管是高位还是低位,反正不一样
需要高低位互换
如何读取数据库中的blob字段
将最后一行 00000110000001010111001001100000 转换为 十进制就是 101020256

如何读取数据库中的blob字段

101020256就是装备id,去pvf搜索就可以查到

如何读取数据库中的blob字段

声明:本站文章素材多源于网络,版权归原作者。 声明中文字加粗部分,仅为突出重点信息展示,无其他特殊含义。任何个人或组织,在未经原版权方及本站许可时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

重要限制:本站素材仅供单机学习交流,请在24小时内删除

给TA仙缘
共{{data.count}}人
人已仙缘
DNF教学资源DNF数据库教程

角色栏锁定2个角色

2024-12-28 14:51:39

DNF教学资源DNF数据库教程

dof台服数据表大全列表

2024-12-28 14:51:42

动态加载多个广告位

宝子们!这里可是超棒的固定广告位哟!要是你有广告推广的想法,想让更多人看到你的好东西,别犹豫,赶紧联系博主呀,咱们一起把精彩传递出去。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索