背景
作为一个爱书之人,我常常在电子书平台和应用间寻找最佳阅读体验。某绿色阅读平台吸引我的原因是购买的书籍真正属于自己,但遗憾的是,下载的书籍采用了私有加密格式,只能在官方应用中阅读,用户体验与其他平台相比存在一定差距。本文将探讨如何通过技术手段将自己购买的加密EPUB电子书转换为标准格式,以便在自己偏好的阅读应用中使用。
逆向环境准备
- MuMu pro 模拟器(mac版)
- macOS 系统
- 抓包工具
- Frida
技术分析与实现步骤
Frida Hook 实现
通过逆向分析目标应用,我发现电子书加密机制如下:应用首次请求getPublishedCertificate
接口获取密钥,将返回的字符串通过魔改版Base64解码,然后对解码结果进行RSA解密得到AES密钥。解密EPUB时使用该AES密钥,初始向量(IV)为16个0。
为了简化过程,我们可以直接使用Frida进行hook操作,截获解密后的密钥:
值得注意的是,每本书的密钥都是不同的,但有了hook代码后获取过程相对简单。