好友
阅读权限30
听众
最后登录1970-1-1
|
本帖最后由 Light紫星 于 2021-6-25 21:20 编辑
近来闲着无聊,下载了一些电子书,表面上是epub格式的,但是用一般的软件是打不开的,只有某阅软件才能打开查看,而且这个软件只有手机端没有电脑端,很是恼火,于是想解密他这专有的epub格式,遂有此文。
本文只提供思路,不提供任何成品下载!!!
首先,逆向专有格式,要下载一个能打开专有格式的apk,这里我找了很多,尽量找旧版本并且能打开这个加密格式的,最后使用的是 7.4.0 本地简洁版,这个版本是别人修改过的,但是不影响使用。
第二部,查壳,这个软件是没有壳的,所以直接拖入jadx查看源码,通过搜索分析,定位到解密文件的地方在libUiControl.so,然后这个so里面有open等函数来打开加密的文件。
通过分析他的epub格式发现,zip解压后除了encryption.xml文件,其他文件全部加密了,所以先看这个encryption.xml文件,注意到里面有关键词 enc:EncryptionKey ,这个key是rsa加密的,然后rsa解密后用这个key 进行aes128-ctr解密,就可以解密他的数据了。
看起来一切顺利,但是这个时候却出现了问题,因为在so里面搜索aes和rsa都搜不到太多有用的信息,于是另辟蹊径,找到了一个这个软件出的硬件电子书的固件,解包后找到相同的so文件,然后在里面搜索rsa,不出所料,找到了有用的信息,然后对比两个文件,定位到7.x版本上这个函数的位置,然后用frIDA调试,最后确定了解密的key。
这里的ctr解密,是有iv的,一开始我只找到了key,但是iv找不到,后来断点好久才找到了iv,iv是通过key进行一系列运算得到的,有了这些信息,就可以解密文件了。
解密后的文件内容如下,然后重新打包,就可以得到一本没有加密的epub电子书了。
好了,本文结束,又是一个愉快的夜晚。
今天肝出了软件,解密后的书籍效果如下:
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|