开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 512|回复: 4
收起左侧

[求助] 请教通达信股本变迁文件(gbbq)怎么解密?

[复制链接]
发表于 2023-12-8 14:44:32 | 显示全部楼层 |阅读模式   广东省广州市
有会OD的大侠吗,请教通达信GBBQ除权信息文件的解密密码是多少?能帮忙把解密方法转成易语言代码吗?

参考资料:

到处查资料,得知通达信的权息⽂件数据齐全,不仅含有除权除息数据,还含有限售解禁、增发、可转债上市等股本变化数据
——这对于某些对成交量变化敏感的交易模型是⾮常重要的
然⽽,gbbq⽂件是加密的,⽹上找不到解密算法,说不得只好请出尘封已久的ollydebug⼤侠咯~
1、在fopen函数下个条件断点,esp寄存器指向的第⼀个参数是⽂件名指针地址,若⽂件名含有“gbbq”,断之
2、很容易找到后续代码⾥连续调⽤了2次fread,第⼀次只读4字节,很明显是⽂件包含的记录数
3、跟踪第⼆次fread,发现将数据存⼊内存后,开始与另⼀块内存中的数据进⾏反复相加、异或操作,最后完成解密
4、另⼀块内存中的数据经多次加载对⽐,发现内容固定,长度4176字节,应该是⾃带的密码表
5、没有必要搞明⽩密码表是哪来的,直接从内存dump出来存为⽂件就⾏了
6、每条记录29字节,前24字节是加密的,后5字节未加密,因为他⽤的加密算法是固定64位,⼀次加密8字节
7、解密过程汇编代码很长,但仔细分析后可以转换为16次循环,64位对称加密,16次循环,,DES嘛
while (len)
{
for (i = 0; i < 3; i++)
{
eax = *((int*)(pCodeNow + 0x44));
ebx=*((int*)(pDataNow));
num = eax^ebx;
numold = *((int*)(pDataNow + 0x4));
for (j = 0x40; j > 0; j = j - 4)
{
ebx = (num & 0xff0000) >> 16;
eax = *((int*)(pCodeNow + ebx * 4 + 0x448));
ebx = num >> 24;
eax += *((int*)(pCodeNow + ebx * 4 + 0x48));
ebx = (num & 0xff00) >> 8;
eax ^= *((int*)(pCodeNow + ebx * 4 + 0x848));
ebx = num & 0xff;
eax += *((int*)(pCodeNow + ebx * 4 + 0xC48));
eax ^= *((int*)(pCodeNow + j));
ebx = num;
num = numold^eax;
numold = ebx;
}
numold ^= *((int*)pCodeNow);
pInt = (unsigned int*)pDataNow;
*pInt = numold;
pInt = (unsigned int*)(pDataNow+4);
*pInt = num;
pDataNow = pDataNow + 8;
}
pDataNow = pDataNow + 5;
len--;
}
搞定~

发表于 2024-6-22 11:43:27 | 显示全部楼层   广西壮族自治区南宁市
大神。。。
回复 支持 反对

使用道具 举报

结帖率:83% (5/6)

签到天数: 19 天

发表于 2024-7-19 14:26:45 | 显示全部楼层   浙江省嘉兴市
可以写一个易语言读取通达信股本的例程吗?
回复 支持 反对

使用道具 举报

结帖率:83% (5/6)

签到天数: 19 天

发表于 2024-8-23 08:31:00 | 显示全部楼层   浙江省嘉兴市
你解决了这个问题了吗..
回复 支持 反对

使用道具 举报

结帖率:83% (5/6)

签到天数: 19 天

发表于 2024-8-24 08:37:16 | 显示全部楼层   浙江省嘉兴市
我也需要这个..
200元可以解决这个问题..
楼主,我们一人一半可以吗..
人我都找好了..就是价钱在谈..
回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表