龙卷风收音机客户端电台数据解密算法 算法CC++C#J#
程序员文章站
2022-07-15 08:45:53
...
龙卷风收音机data\chs下的文件:(可到官网上下载客户端,在目录下面就可以找到了,也可以直接在本文附件里下载)
说明:原先上传的文件漏了data.idp,现已修改.
另:在csdn上,已找到该解密算法的java实现,有兴趣者可以访问本人的csdn,待抽空再做整理,移至JavaEye.敬请期待!
data.dat 电台url, 加密形式
data.idp 每一个电台在data.dat中位置信息
data.idp
00000000h: 0000 0000 6300 0000 C800 0000 3001 0000
00000010h: B101 0000 1502 0000 7702 0000 D902 0000
00000020h: 4003 0000 A703 0000 0704 0000 9204 0000
....
其中每4 bytes为一个位置,则电台的位置就是:
电台1 0x00000000 ~ 0x00000063
电台2 0x00000063 ~ 0x000000C8
电台3 0x000000C8 ~ 0x00003001
....
data.dat
电台1 0x00000000 ~ 0x00000063的数据是:
00000000h: 3109 BCB9 D7A5 B5DC A390 678F A1BC AF60
00000010h: B88F DA88 63BF BE8E 887B 63BF BE91 A77B
00000020h: 5860 5A56 5040 2160 6756 0B06 1E19 5470
00000030h: 4C11 0200 003E 4D11 041B 403C 0D7B 6304
00000040h: 032C 595D 455B 5F6E 4D4A 5347 5C6D 565C
00000050h: 5B59 5A70 001C 1858 5105 2B24 050B 5C6A
00000060h: 0D0D 0A
从开始位置找到第一个09 (\t),后面的数据都是加密形式的。加密的算法是每6个字节分别和字符j,i,n,_,c,r来进行xor运算。(05年的版本是4个字符l,o,n,g,最新版本的还是在费了一些时间之后才找出来的~:P)
例如:
BC B9 D7 A5 B5 DC A3 90 67 8F A1 BC AF 60 ...
xor j i n _ c r j i n _ c r j i ...
= D6 D0 B9 FA D6 AE C9 F9 09 D0 C2 CE C5 09 ...
= 中 国 之 声 新 闻 ...
这样每一个电台的数据就出来了
详细例子:(文字显示格式有点出入,想要看整齐的,请参阅附件里的文本文档)
31 09 BC B9 D7 A5 B5 DC A3 90 67 8F A1 BC AF 60
6A 69 6E 5F 63 72 6A 69 6E 5F 63 72 6A 69
D6 D0 B9 FA D6 AE C9 F9 09 D0 C2 CE C5 09
中 国 之 声 新 闻
B8 8F DA 88 63 BF BE 8E 88 7B 63 BF BE 91 A7 7B
6E 5F 63 72 6A 69 6E 5F 63 72 6A 69 6E 5F 63 72
D6 D0 B9 FA 09 D6 D0 D1 EB 09 09 D6 D0 CE C4 09
中 国 中 央 中 文
58 60 5A 56 50 40 21 60 67 56 0B 06 1E 19 54 70
6A 69 6E 5F 63 72 6A 69 6E 5F 63 72 6A 69 6E 5F
32 09 34 09 33 32 4B 09 09 09 68 74 74 70 3A 2F
2 4 3 2 K h t t p : /
4C 11 02 00 00 3E 4D 11 04 1B 40 3C 0D 7B 63 04
63 72 6A 69 6E 5F 63 72 6A 69 6E 5F 63 72 6A 69
2F 63 68 69 6E 61 2E 63 6E 72 2E 63 6E 09 09 6D
/ c h i n a . c n r . c n m
03 2C 59 5D 45 5B 5F 6E 4D 4A 53 47 5C 6D 56 5C
6E 5F 63 72 6A 69 6E 5F 63 72 6A 69 6E 5F 63 72
6D 73 3A 2F 2F 32 31 31 2E 38 39 2E 32 32 35 2E
m s : / / 2 1 1 . 8 9 . 2 2 5 .
5B 59 5A 70 00 1C 18 58 51 05 2B 24 05 0B 5C 6A
6A 69 6E 5F 63 72 6A 69 6E 5F 63 72 6A 69 6E 5F
31 30 34 2F 63 6E 72 31 31 3F 5A 48 56 6F 62 32
1 0 4 / c n r 1 1 ? Z H V o b 2
0D 0D 0A
63 72 6A
6E 7F 60
n ` /
说明:
第一行为源数据,第二行为jin_cr,第三行为XOR运算结果,第四行为运算结果转换成字符后的结果.
现在需要做的就是将以上解密算法进行代码的实现,正在研究中ing~有哪位高手实现了,还望分享下~!最好用java实现! (不要独吞哦~!)
说明:原先上传的文件漏了data.idp,现已修改.
另:在csdn上,已找到该解密算法的java实现,有兴趣者可以访问本人的csdn,待抽空再做整理,移至JavaEye.敬请期待!
data.dat 电台url, 加密形式
data.idp 每一个电台在data.dat中位置信息
data.idp
00000000h: 0000 0000 6300 0000 C800 0000 3001 0000
00000010h: B101 0000 1502 0000 7702 0000 D902 0000
00000020h: 4003 0000 A703 0000 0704 0000 9204 0000
....
其中每4 bytes为一个位置,则电台的位置就是:
电台1 0x00000000 ~ 0x00000063
电台2 0x00000063 ~ 0x000000C8
电台3 0x000000C8 ~ 0x00003001
....
data.dat
电台1 0x00000000 ~ 0x00000063的数据是:
00000000h: 3109 BCB9 D7A5 B5DC A390 678F A1BC AF60
00000010h: B88F DA88 63BF BE8E 887B 63BF BE91 A77B
00000020h: 5860 5A56 5040 2160 6756 0B06 1E19 5470
00000030h: 4C11 0200 003E 4D11 041B 403C 0D7B 6304
00000040h: 032C 595D 455B 5F6E 4D4A 5347 5C6D 565C
00000050h: 5B59 5A70 001C 1858 5105 2B24 050B 5C6A
00000060h: 0D0D 0A
从开始位置找到第一个09 (\t),后面的数据都是加密形式的。加密的算法是每6个字节分别和字符j,i,n,_,c,r来进行xor运算。(05年的版本是4个字符l,o,n,g,最新版本的还是在费了一些时间之后才找出来的~:P)
例如:
BC B9 D7 A5 B5 DC A3 90 67 8F A1 BC AF 60 ...
xor j i n _ c r j i n _ c r j i ...
= D6 D0 B9 FA D6 AE C9 F9 09 D0 C2 CE C5 09 ...
= 中 国 之 声 新 闻 ...
这样每一个电台的数据就出来了
详细例子:(文字显示格式有点出入,想要看整齐的,请参阅附件里的文本文档)
31 09 BC B9 D7 A5 B5 DC A3 90 67 8F A1 BC AF 60
6A 69 6E 5F 63 72 6A 69 6E 5F 63 72 6A 69
D6 D0 B9 FA D6 AE C9 F9 09 D0 C2 CE C5 09
中 国 之 声 新 闻
B8 8F DA 88 63 BF BE 8E 88 7B 63 BF BE 91 A7 7B
6E 5F 63 72 6A 69 6E 5F 63 72 6A 69 6E 5F 63 72
D6 D0 B9 FA 09 D6 D0 D1 EB 09 09 D6 D0 CE C4 09
中 国 中 央 中 文
58 60 5A 56 50 40 21 60 67 56 0B 06 1E 19 54 70
6A 69 6E 5F 63 72 6A 69 6E 5F 63 72 6A 69 6E 5F
32 09 34 09 33 32 4B 09 09 09 68 74 74 70 3A 2F
2 4 3 2 K h t t p : /
4C 11 02 00 00 3E 4D 11 04 1B 40 3C 0D 7B 63 04
63 72 6A 69 6E 5F 63 72 6A 69 6E 5F 63 72 6A 69
2F 63 68 69 6E 61 2E 63 6E 72 2E 63 6E 09 09 6D
/ c h i n a . c n r . c n m
03 2C 59 5D 45 5B 5F 6E 4D 4A 53 47 5C 6D 56 5C
6E 5F 63 72 6A 69 6E 5F 63 72 6A 69 6E 5F 63 72
6D 73 3A 2F 2F 32 31 31 2E 38 39 2E 32 32 35 2E
m s : / / 2 1 1 . 8 9 . 2 2 5 .
5B 59 5A 70 00 1C 18 58 51 05 2B 24 05 0B 5C 6A
6A 69 6E 5F 63 72 6A 69 6E 5F 63 72 6A 69 6E 5F
31 30 34 2F 63 6E 72 31 31 3F 5A 48 56 6F 62 32
1 0 4 / c n r 1 1 ? Z H V o b 2
0D 0D 0A
63 72 6A
6E 7F 60
n ` /
说明:
第一行为源数据,第二行为jin_cr,第三行为XOR运算结果,第四行为运算结果转换成字符后的结果.
现在需要做的就是将以上解密算法进行代码的实现,正在研究中ing~有哪位高手实现了,还望分享下~!最好用java实现! (不要独吞哦~!)