【J.C.X】初试逆向某书籍阅读软件专有格式

玩机讨论   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2021-6-28

近来闲着无聊,下载了一些电子书,表面上是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电子书了。

好了,本文结束,又是一个愉快的夜晚。

成为第一个回答人

评论

登录后才可发表内容
  • 主题

    62

  • 帖子

    278

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0864s Mem:2063Kb