请教有关解密问题,黑客请进!(假如CSDN无给分限制,我将给出我所有6603可用分)

fz_zhou 2002-09-09 05:03:39
现载取到一证券软件的数据。数据中有股票代码,开收盘价等。我在接收的时候速度非常快,在交易的时候1s 能收到大概 100 多条记录。

下面就是收到数据被我转成16进后的数据,数据长都为133个字节,数据是通过一NOVAL服务器发送出来的(加上IPX地址信息是180个字节)

NO1
0 35 7 7b 55 fb 54 50 55 75 56 55 55 55 55 50 55 75 56 50
55 75 56 50 55 55 55 5f 58 55 55 50 55 c5 54 50 55 55 55 50
55 55 55 da 14 55 55 40 55 55 55 6 75 70 55 55 55 ab 5d 55
55 55 55 55 55 55 55 e7 17 55 45 1e 10 55 55 55 55 55 55 f5
15 41 fb ca 15 7c 9 ca 15 df 54 55 55 48 55 55 55 14 55 55
55 55 55 55 55 fb 12 f4 15 cf cc f4 15 d0 be f4 15 31 55 55
55 3c 55 55 55 dc 55 55 55 55 55 55 55
NO.2
0 71 2 39 55 fb 54 5f 55 1 5e 55 55 55 55 5f 55 85 52 5f
55 ed 5e 5f 55 5d 52 d 45 55 55 5f 55 39 52 5f 55 5d 52 5f
55 5d 52 5d f2 55 55 57 55 55 55 6 75 c6 55 55 55 36 57 55
55 a1 aa aa aa 55 35 c3 11 55 c5 6c 10 55 55 55 55 1d b4 77
14 7 ed 77 14 9 da 77 14 2f 55 55 55 43 55 55 55 9 55 55
55 55 55 55 55 68 5f 76 14 4a d0 76 14 41 fb 76 14 5f 55 55
55 49 55 55 55 32 55 55 55 55 55 55 55

现在要怎么解开它的数据,我应该看哪些书,有哪些网站有这方面的资料。或者一些典型的分析方法。或者你觉得对我有帮助和启发的!

非常感谢谢CSDN的朋友,我很多问题都是在这里解决的。
...全文
26 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
oldworm 2002-09-12
  • 打赏
  • 举报
回复
if (知道是什么程序发过来的){
反汇编 program
debug program
}
else{
另想办法...
}
我不是大明 2002-09-11
  • 打赏
  • 举报
回复
和55 XOR 之后得到:
Find Text offsetPos 10.
0 Times: 1431
1 Times: 960
2 Times: 730
3 Times: 1179
4 Times: 311
5 Times: 1303
6 Times: 462
7 Times: 1601
8 Times: 838
9 Times: 630
a Times: 836
b Times: 809
c Times: 894
d Times: 432
e Times: 995
f Times: 941
10 Times: 728
11 Times: 807
12 Times: 706
13 Times: 1290
14 Times: 513
15 Times: 755
16 Times: 670
17 Times: 1285
18 Times: 988
19 Times: 1019
1a Times: 1398
1b Times: 871
1c Times: 958
1d Times: 596
1e Times: 620
1f Times: 1216
20 Times: 738
21 Times: 1240
22 Times: 550
23 Times: 1401
24 Times: 747
25 Times: 1009
26 Times: 505
我不是大明 2002-09-11
  • 打赏
  • 举报
回复
我XOR出来的数据也干什么都看不出来,现在我想做的就是把程序中股票代码存在什么地方?

但是我编了一个统计程序,发现在位置上的数字一定在
40-5f
70-7f
之间
一共40个而且很.

但想一想如果是股票代码,应该是 26 个字母 再加 10 个也是36个.

下面是我的结果:表示在8位置上出现前面ASCII码的次数!
Find Text offsetPos 10.
40 Times: 755
41 Times: 513
42 Times: 1285
43 Times: 670
44 Times: 807
45 Times: 728
46 Times: 1290
47 Times: 706
48 Times: 596
49 Times: 958
4a Times: 1216
4b Times: 620
4c Times: 1019
4d Times: 988
4e Times: 871
4f Times: 1398
50 Times: 1303
51 Times: 311
52 Times: 1601
53 Times: 462
54 Times: 960
55 Times: 1431
56 Times: 1179
57 Times: 730
58 Times: 432
59 Times: 894
5a Times: 941
5b Times: 995
5c Times: 630
5d Times: 838
5e Times: 809
5f Times: 836
70 Times: 1009
71 Times: 747
73 Times: 505
74 Times: 1240
75 Times: 738
76 Times: 1401
77 Times: 550
Find Total 34970.

我不是大明 2002-09-10
  • 打赏
  • 举报
回复
数据应该是加密了,因为单从上面看不出来任何有用的信息!
我先试一下和 55 XOR 一下看能不能有用!
cwanter 2002-09-10
  • 打赏
  • 举报
回复
good.
cwwa 2002-09-10
  • 打赏
  • 举报
回复
数据方面你先按不加密的试试看,如果是有加密的话,就再想别的方法吧.

================================================================

努力,奋斗.
xDraw 2002-09-10
  • 打赏
  • 举报
回复
GOOD!
sans 2002-09-10
  • 打赏
  • 举报
回复
数据可能通过某种方式加了密,不过为了追求速度,一般均是使用简单的XOR方式,你可以试试。
sans 2002-09-10
  • 打赏
  • 举报
回复
// 证券市场
#define SH_MARKET_EX 'HS' // 上海
#define SZ_MARKET_EX 'ZS' // 深圳

// 文件数据类型
// 结构数组形式的文件数据
#define FILE_HISTORY_EX 2 // 补日线数据
#define FILE_MINUTE_EX 4 // 补分钟线数据

#define FILE_BASE_EX 0x1000 // 钱龙兼容基本资料文件,m_szFileName仅包含文件名
#define FILE_NEWS_EX 0x1002 // 新闻类,其类型由m_szFileName中子目录名来定

#define FILE_TYPE_RES -1 // 保留

// 消息子类型
#define News_Sha_Ex 2 // 上证消息
#define News_Szn_Ex 4 // 深证消息
#define News_Fin_Ex 6 // 财经报道
#define News_TVSta_Ex 8 // 电视台通知
#define News_Unknown_Ex -1 // 未知提供者

//Definition For nInfo of Function GetStockDrvInfo(int nInfo,void * pBuf);
#define RI_IDSTRING 1 // 厂商名称,返回(LPCSTR)厂商名
#define RI_IDCODE 2 // 卡号
#define RI_VERSION 3 // 驱动程序版本
#define RI_ERRRATE 4 // 取信道误码
#define RI_STKNUM 5 // 取上市股票总家数

#define STKLABEL_LEN 10 // 股号数据长度,国内市场股号编码兼容钱龙
#define STKNAME_LEN 32 // 股名长度


//////////////////////////////////////////////////////////////////////////////////
//行情数据
//注:
// 某些字段可能为0,用上次的数据代替
typedef struct tagRCV_REPORT_STRUCTEx
{
WORD m_wMarket; // 股票市场类型
char m_szLabel[STKLABEL_LEN]; // 股票代码,以'\0'结尾
char m_szName[STKNAME_LEN]; // 股票名称,以'\0'结尾

float m_fLastClose; // 昨收
float m_fOpen; // 今开
float m_fHigh; // 最高
float m_fLow; // 最低
float m_fNewPrice; // 最新
float m_fVolume; // 成交量,以股为单位,股的含义依股票类型定义
float m_fAmount; // 成交额,以元为单位

float m_fBuyPrice[3]; // 申买价1,2,3
float m_fBuyVolume[3]; // 申买量1,2,3
float m_fSellPrice[3]; // 申卖价1,2,3
float m_fSellVolume[3]; // 申卖量1,2,3
} RCV_REPORT_STRUCTEx;

//////////////////////////////////////////////////////////////////////////////////
//补充数据头
//数据头 m_dwHeadTag == EKE_HEAD_TAG
#define EKE_HEAD_TAG 0xffffffff

typedef struct tagRCV_EKE_HEADEx
{
DWORD m_dwHeadTag; // = EKE_HEAD_TAG
WORD m_wMarket; // 市场类型
char m_szLabel[STKLABEL_LEN]; // 股票代码
}RCV_EKE_HEADEx;

//补充日线数据
// 注:
// 每一数据结构都应通过 m_time == EKE_HEAD_TAG,判断是否为 m_head,然后再作解释
typedef union tagRCV_HISTORY_STRUCTEx
{
struct
{
time_t m_time; //UCT
float m_fOpen; //开盘
float m_fHigh; //最高
float m_fLow; //最低
float m_fClose; //收盘
float m_fVolume; //量
float m_fAmount; //额
WORD m_wAdvance; //涨数,仅大盘有效
WORD m_wDecline; //跌数,仅大盘有效
};
RCV_EKE_HEADEx m_head;
}RCV_HISTORY_STRUCTEx;

//补充分时线数据
// 注:
// 每一数据结构都应通过 m_time == EKE_HEAD_TAG,判断是否为 m_head,然后再作解释
typedef union tagRCV_MINUTE_STRUCTEx
{
struct{
time_t m_time; // UCT
float m_fPrice;
float m_fVolume;
float m_fAmount;
};
RCV_EKE_HEADEx m_head;
}RCV_MINUTE_STRUCTEx;

//////////////////////////////////////////////////////////////////////////////////
// 文件类型数据包头
// 注一:
// m_wDataType == FILE_BASE_EX
// m_dwAttrib = 股票证券市场,m_szFileName仅包含文件名
// m_FileTime = 基本面资料文件创建日期
// m_wDataType == FILE_NEWS_EX
// m_dwAttrib = 消息来源,m_szFileName 包含目录的文件名,目录名为消息来源
// m_dwSerialNo = 序列号
// 如: "上交所消息\\0501Z012.TXT","新兰德\\XLD0001.TXT"
// 注二:
// 数据文件循环播出,每个文件有唯一的序列号,以避免重复接收
typedef struct tagRCV_FILE_HEADEx
{
DWORD m_dwAttrib; // 文件子类型
DWORD m_dwLen; // 文件长度
union {
DWORD m_dwSerialNo; // 序列号,对股评
time_t m_FileTime; // 文件创建时间
};
char m_szFileName[_MAX_PATH]; // 文件名 or URL
} RCV_FILE_HEADEx;

//////////////////////////////////////////////////////////////////////////////////
// 数据通知消息
// wParam = RCV_WPARAM;
// lParam 指向 RCV_DATA结构;
// 返回 1 已经处理, 0 未处理或不能处理,目前该返回值被忽略

#define RCV_REPORT 0x3f001234
#define RCV_FILEDATA 0x3f001235

// 注一:
// 记录数表示行情数据和补充数据(包括 Header)的数据包数,对文件类型数据, = 1
// 注二:
// 若 m_bDISK = FALSE, m_pData 为消息股评等数据缓冲区指针
//
// ******** 数据共享,不能修改数据 **********
//
// m_bDISK = TRUE, m_pData 为该文件的存盘文件名,一般情况只有
// 升级软件等大文件用存盘方式
typedef struct tagRCV_DATA
{
int m_wDataType; // 文件类型
int m_nPacketNum; // 记录数,参见注一
RCV_FILE_HEADEx m_File; // 文件接口
BOOL m_bDISK; // 文件是否已存盘的文件
union
{
RCV_REPORT_STRUCTEx * m_pReport; // 行情数据
RCV_HISTORY_STRUCTEx * m_pDay; // 日线
RCV_MINUTE_STRUCTEx * m_pMinute; // 分时
void * m_pData; // 参见注二
};
} RCV_DATA;
我不是大明 2002-09-10
  • 打赏
  • 举报
回复
TO: VisualStudio(嗷~~~)
大家不要误会,我上面已经说过了,我没有破坏的意图!
zhbruce 2002-09-10
  • 打赏
  • 举报
回复
gz
我不是大明 2002-09-10
  • 打赏
  • 举报
回复
TO:sans
这些数据是我在本地网上收到的,没有压缩!
还有象开盘,收盘,金额,最高,最低也应该有的吧(象K线数据就有这些数据了)之类的也应该有吧!
VisualStudio 2002-09-10
  • 打赏
  • 举报
回复
?????
你们想破坏金融系统?
110
叮铃铃~~~~~~~~~~`````
我不是大明 2002-09-10
  • 打赏
  • 举报
回复
TO: sans(sans)
double 不是用4个字节来表示的吗?
waiwaiwai 2002-09-10
  • 打赏
  • 举报
回复
gz
xday 2002-09-10
  • 打赏
  • 举报
回复
这些数据我推测可能没有加密,否则不会连续出现:0x55 0x55 0x55。。这么规则的数字。

每 133bytes 应该就是一个数据包吧,0x55 出现位置这两个数据包是一致的

能不能多给及格数据包?
sans 2002-09-10
  • 打赏
  • 举报
回复
如果你能够确定某一条记录是哪只股票的,就好办了,数据无非就是这些内容:
代码:6位,6个字节
时间:小时、分钟、秒,3个字节
成交、现手、卖一价、卖二价、卖三价、卖一量、卖二量、卖三量、买一价、买二价、买三价、买一量、买二量、买三量,共14个double,即14x8=112字节
等等。
如果你能够在成交不是很活跃时,盯住某只成交不是很活跃的股票,比如现在的600801,当成交出现时,找到这条记录,同时对照股票软件上那个时刻的数据,就可以弄懂记录格式了。
我不是大明 2002-09-10
  • 打赏
  • 举报
回复
TO: icansaymyabc(学习与进步)
现在我就在找这个。
icansaymyabc 2002-09-10
  • 打赏
  • 举报
回复
每个软件自定义的记录格式都不一样,你要说明你得到的是什么软件的记录,如果你有某些记录的原文、记录对照,那就好办得多。
我不是大明 2002-09-10
  • 打赏
  • 举报
回复
还是xDraw说得有道理。自己对它发包,看它有什么变化!
现在开始写发送包的程序!
加载更多回复(7)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧