由于学业需要,在我家长电脑的喜马拉雅上下载了一些红楼梦相关的专辑准备在学校听
结果下下来一看,都是些.xm文件,客户端里还写着不能转码为别的格式
这我能忍?
用winhex看了下,发现是ID3开头的文件,果断从.mp3后缀一路试起,结果没有一个能正常播放
遂今天在自己的电脑上下了个喜马拉雅,看看这个.xm文件到底是什么来头
首先拿ida解析一遍喜马拉雅客户端,解析了我一下午(一核有难)
最终生成的idb有1.5个GB,不过好歹是解析完了(反正我在上课,先解析着再说)
下课之后用x64dbg稍微跟了一会,大体思路就是断CreateFileW,断下来再断ReadFile
ReadFile的buffer设一个硬件断点,看看谁读了就跟谁
大体思路是这样没错,但喜马拉雅恶心的地方在于它读到buffer以后还会复制到另一个buffer(嫌内存多?)
复制两次就算了,可它在新的buffer里又根据前面ID3和magic header又把内容分割开来,继续复制到别的地方(雾)
总计开了5个buffer存放加密内容,看了下到最后好像才释放掉
开始没注意到这一点,跟错了好多次函数
最后总算是跟到了解密的部分,看到一大块xmm就知道差不多了
正当我高兴时,我在ida里看到了这么些个东西:
敢情您搁着玩aes呢?惹不起惹不起,溜了
(无疾而终,各位当以上在放屁)
标签:文件,喜马拉雅,xm,buffer,解密,解析 From: https://www.cnblogs.com/REWIZZC/p/17157223.html