切换到宽版
  • 19743阅读
  • 23回复

电子图书:超星篇 [复制链接]

上一主题 下一主题
离线dedream
发帖
5085
财富
5058
威望
211
交易币
1
只看该作者 20楼 发表于: 2010-01-19 | 石油求职招聘就上: 阿果石油英才网
新版吵醒文件加密方式说明
吵醒文件加密方式说明  

作者:Che Ming  
版本:v1.6

历史:

==== 1.6 ==== 2010/01/19
[+] 69H 6AH Support

==== 1.5 ==== 2007/04/11
[+] 67 68 More Detail

==== 1.4 ==== 2006/09/24
[+] PDG v1 Support  
[-] 错别字 :)

==== 1.3 ====
[+] Fix 1xH Bugs

==== 1.2 ====  
[+] 6xH More Detail  

==== 1.1 ====  
[+] 28H Support  
[+] 6xH Support  

==== 1.0 ====  
2006/07 First Release.  

[欢迎转载,转载时请保留作者及版本信息]  

说明:此文提及的吵醒文件为 48 48 开头的文件(即PDG v1, v2 格式),其他诸如 FF D8 开头的标准 JPG,以及 PDF, TXT 等格式不在此问题讨论范围。

PDG V2
------

文件 0x0F 处字节代表此类吵醒文件的格式,其中:

00H 最原始的格式,  
  正文数据分为:  
  ColorDepth = 1   代表单色 CCITT G3 2D 压缩图片格式  [OriginalType=00]
             = 18h 代表24位色真彩图像,正文数据通常是 JPG (对应加密后的格式为04H)  [OriginalType=4A]

  AT&TFORM         代表 djvu 原始数据格式 (对应加密后的格式为05H)  [OriginalType=44]
  %PDF%            代表 PDF 原始数据格式 (数据采用 Zlib 算法压缩)[OriginalType=46]

01H 最早的加密雏形,简单的对数据区进行 Block Size = 8 的分组加密,加密方法就是 8 个字节一组与 '3.141592' 进行 XOR 操作。  

02H 开始采用强度稍高的加密算法,对 PDG Header 中的 KeyData 字段进行 MD5 运算,得到 KEY 之后,调用 TEA 算法对数据区进行分组加密。  
03H 加密方式同上,在 MD5 基础上,将 HASH 与 'SUPERSTAR4PDG2.0' 的头8个字符进行 XOR 操作作为 KEY。  
04H JPG经过加密形成,解密后可以生成 00H 格式或者 JPG 格式。加密方式同 02H,将 HASH 与 'SSREADER4PDG3.71' 的头8个字符进行 XOR 操作作为 KEY。  
05H djVu 原始格式加密而成,解密后可以生成 00H 格式。加密方式同 02H,将 HASH 与 'e#fgF%3*' 进行 XOR 操作作为 KEY。  

10H 00H基础上简单将 PDG Header 中的 Width, Height 字段加密。  

11H 00H基础上将数据部分字节加密。Group1  
12H 00H基础上将数据部分字节加密。Group1  
13H 00H基础上将数据部分字节加密。Group1  
14H 00H基础上将数据部分字节加密。Group1  
15H 00H基础上将数据部分字节加密。Group2  
16H 00H基础上将数据部分字节加密。Group2  
17H 00H基础上将数据部分字节加密。Group2  
18H 00H基础上将数据部分字节加密。Group2  
19H 00H基础上将数据部分字节加密。Group3  
1AH 00H基础上将数据部分字节加密。Group3  
1BH 00H基础上将数据部分字节加密。Group3  
1CH 00H基础上将数据部分字节加密。Group3  
以上11H-1CH的加密算法为私有加密算法,分为三组,分别是 Group1,2,3,每一组的加密位置及加密字节数不同。  

1EH 没见过实物(未进行过实际验证),但在代码中存在解密算法,加密算法为 DEAL。  

28H 为吵醒用户自行通过 SSREADER 的新建-〉扫描功能制作的格式。通过 TEA 算法对 10H-2FH 进行加密得到 32 字节的 Key (由于吵醒采用的 DEAL 算法都只使用 128bit 的 Key,所以只有头 16 个字节生效),之后采用 DEAL 算法对数据区进行隔行加密。  

6xH 系列为正版有卡用户下载加密而成。此系列加密强度最强,复杂度超乎想象,竟然综合采用了 TEA, Blowfish, RSA, DEAL, IDEA,  
  DES 等加密算法,计算 KEY 的时候,使用了 MD5, SHA1 等算法。估计吵醒会用的加密算法全部齐上阵,加密算法应用大全啊。  

  此系列共有 64 65 66 67 68 69 6A 七种格式,特点是 Header 和数据区同时加密:  
  Header 加密方法:  
    1. 64 65 使用 TEA 算法并结合 username 生成 Key,利用 DEAL 算法加密,加密长度为 60h。  
    2. 66 67 68 69 6A使用 TEA 算法但不结合 username 生成 Key,利用 DEAL 算法加密,加密长度为 10h。  

  数据区加密方法:  
    1. 65 使用 SHA1 算法对加密后的 Header 进行计算,同时与 username 进行操作得到 Key。  
    2. 64 66 67 68 69 6A使用 MD5 算法对加密后的 Header 进行计算得到 Key。  
    得到 Key 之后,对于 65 格式,采用 IDEA 加密算法进行加密,其它格式仍采用 DEAL 算法进行加密。
    
  对于 69 6A 这两种格式(从吵醒 4.0 20090601 开始引入),对应原始数据格式必须是 0x4A 即 JPG 格式。同时,完成一次数据区解密后,还需要对数据区进行二次解密!从 64 到 68,SSREADER 都是将服务器加密的 PDG 解密成 00 之后重新使用 6xH 加密算法进行加密,但是从 69 6A 开始,不知道是吵醒忘记了,还是为了增加复杂度的原因,其直接将下载回来的加密的 03 04 格式二次加密成 69 6A。对于解码而言,必须首先完成 6xH 解密,然后得到原始加密文件,再进行 03 04 格式的解码才能得到 JPG 格式的文件。对于 03 04 这种加密格式,都是从 02 发展而来的,这一系列格式解密关键在于 Key。原先生成 Key 是使用 0x40 - 0x6F 这 0x30 个字节进行 MD5,但经过 69 6A 加密,会在 0x60 位置写入一个 $FFFFFFFF 值,解密时须填回 0 。    

  6xH 系列的解密必须有 HDDID 参与,它是由服务器根据用户的 HDDKey 计算并返回的,相关信息保存在注册表 ssreaderdata 中。  该数据采用 Blowfish 加密,解密之后 regcode 字段仍然是加密的,其中就包含 HDDID 等重要信息,解密这部分数据,需要使用 RSA 公钥解密算法。  从吵醒4.0【20070401】开始,下载的加密格式使用 67 ,68,并使用新的HDDID算法,即给每一个图书馆分配一个Key,一共14个图书馆。所有信息保存在 ulib.info 文件中 (位于 COMMON_APPDATA 目录)。此文件是一个加密的XML文件,加密算法  是Blowfish,解密所使用的Key是由 HDDKey 以及 Username 在本地计算的。

AAH 镜像站点采用的加密格式,加密算法为 DEAL。此格式如果用正版 SSREADER 下载,会被完全破坏,并将格式变为 FFH。  
ABH 镜像站点采用的加密格式,加密算法为 DEAL。此格式如果用正版 SSREADER 下载,会被完全破坏,并将格式变为 FFH。
ACH 镜像站点采用的加密格式,加密算法为 DEAL。此格式如果用正版 SSREADER 下载,会被完全破坏,并将格式变为 FFH。
上述 AxH 系列的 Key 的计算方法不同,其中 AAH 最简单,ABH 的 Key 计算过程需要 PDG Header 中的 Width,Height 参与;ACH 的 Key 虽然不需要 Width,Height 参与,但是最终会修改 Width 和 Height 两个字段。加密方式采用隔行加密。  

除了上述加密格式之外,PDG 文件还支持一种基于密码保护的加密方式,即所谓的 ServerID,不过目前很少见到。加解算法同样是 DEAL,只不过计算 Key 的方法略有区别,同时 PDG Header 的 Width 字段被修改。此方法理论上可以应用在各种格式之上,任何格式在解密之前,必须先去除 ServerID 保护,再用相应的算法进行解密。  

注意,上述提到的 TEA、SHA1、Blowfish、DEAL 等加密算法都被吵醒私自非法(肯定未经原作者授权)篡改过,不能简单用标准算法套用。  

PDG V1
------

此类文件的文件名为下列格式: 100.001, 100.002, ...  

此类文件为早期 PDG 格式,等同于 V2 的 00H,加密方法只有一种:根据 0x07 位置的值,在数据区 0xB8 位置之后插入1个或者2个字节。



上述分析基于对 PDG2.DLL 的代码研究,如有不对之处,欢迎斧正。  

                                                Che Ming  
Shale gas
离线ssryttkx
发帖
1252
财富
3076
威望
53
交易币
0
只看该作者 21楼 发表于: 2010-01-25 | 石油求职招聘就上: 阿果石油英才网
6A是最新出来的一种格式吧?
离线bingliang
发帖
360
财富
858
威望
3
交易币
0
只看该作者 22楼 发表于: 2010-11-08 | 石油求职招聘就上: 阿果石油英才网
新版吵醒文件加密方式说明
吵醒文件加密方式说明  

作者:Che Ming  
版本:v1.6

历史:

==== 1.6 ==== 2010/01/19
[+] 69H 6AH Support

-----------------------------------------------------------------------------------------------------------
这个是什么软件?
我手头就有一些6AH加密的超星书想转换pdf,不知能否私下传一个用用?
离线tonny1314
发帖
1
财富
6
威望
0
交易币
0
只看该作者 23楼 发表于: 2011-08-06 | 石油求职招聘就上: 阿果石油英才网
这里的高手真多啊,好好学习了

网站事务咨询:QQ:1392013 | 26189883
阿果石油网为免费个人网站,为石油人提供免费的在线即时技术交流场所,拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论和行为!
如有言论或会员共享的资料涉及到您的权益,请立即通知网站管理员,本站将在第一时间给予配合处理,谢谢!