Light紫星 发表于 2021-7-27 09:09

对 某东读书 app加密格式的解析

本帖最后由 Light紫星 于 2021-7-27 09:19 编辑

出于解密技术学习的目的,对某款阅读软件进行了学术上的研究操作。
本文仅提供思路,不提供任何成品软件等。

首先,定位到本软件下载的图书目录,在Android/data/包名/files/books 下面有几个文件夹,找一下就可以定位到你下载的那本书了。

然后,反编译apk,拖入jadx,搜索openbook,找到相关代码,最后经过定位,真正的openbook 在 libjdxxxxreadingengine.so 里面。对应的函数是Java_com_xx_read_engine_jni_DocView_OpenBookInternal

通过对此函数分析,发现最后是调用的xxdecompress::decrypt进行解密文件,解密之前先实例化了xxdecompress对象,传入key,这里的key可以通过hook获得,每本书的key都不一样,好像换了设备也会变,这里我没有尝试更换设备。

如果发现此so文件不好分析,可以下载一个旧版的该app,旧版的so是xxxdrm.so,然后函数名称是一样的。

这里分享一个github链接,该项目有部分开源的代码,是关于这个app的 ,这里面的xxxdrm.so可以直接拿来调用。
https://github.com/a-running-snail/read-android

最后使用androidemu,写一个python脚本调用so文件进行最终的解密操作
部分解密代码如下:


最终的解密效果如图:



至此,又解开了一个阅读软件的加密,好像这些软件都是一个套路,aes加密,然后找个地方放key,用的时候再解密回来。

limzuo 发表于 2021-7-29 08:30

希望能出个详细一点儿的教程

sdieedu 发表于 2021-7-29 10:17

randwong 发表于 2021-7-29 09:35
破解之后一看竟然是英文书籍,然后打开翻译软件慢慢看!果然还是要提高英文阅读能力,赞赞:)

能否给个详细介绍过程,或者成品?

CapitalIze 发表于 2021-7-27 09:16

江湖上有这么一句话 -- “有问题,找星佬!” yyds!!!

biostu 发表于 2021-7-27 09:23

学习了,收藏。

cshk8 发表于 2021-7-27 09:23

真不错,学习了

wuyue321 发表于 2021-7-27 09:25

这个方法太实用了,技术就是生产力!

hikaruyin 发表于 2021-7-27 09:26

雖然不知是什麼讀書app

dafei2599 发表于 2021-7-27 09:28

很不错,非常棒,学习了

smallfiveya 发表于 2021-7-27 09:30

yyds 膜拜

RootMe 发表于 2021-7-27 09:30

膜拜大佬,学习学习

来年春风起 发表于 2021-7-27 09:33

不错,不错,学习了
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 对 某东读书 app加密格式的解析