关键词:缓存解密,批量自动执行脚本,版权保护相关建议。
前段时间,某音乐被爆其缓存文件只使用了简单的异或加密,且容易得到加密密钥为0xa3。原文链接点击这里。以下是我的延伸探讨。
1.对音频缓存的批量解密攻击
抱着好奇的心理,我把手机里面该音乐的缓存转到了电脑上面,如图:
据分析这些UC!文件就是加密后的MP3文件。
用010editor打开其中一个文件,发现存在很多0xa3的字符,如果我们断定网易云用的是异或加密,那么极有可能原文就是0x00,那么异或的密钥就是0xa3。还原得到可以被qq音乐播放的mp3文件:
通过010editor逐一分析,发现加密密钥的确都是0xa3。既然加密密钥都是同一个,那么用010editor手改上百个文件就太难受了,能否写一个脚本或者程序来跑一下呢?
由于我刚学了java,觉得java文件流很不错,于是我就用java编写以下脚本:
1 | import java.io.*; |
于是开始运行这段代码:
运行后就得到了我们想要的mp3文件啦!
2.音频缓存加密过于简单的原因
当然,音频的缓存文件是不可能太过于复杂的,我们听音频的时候,是很讲求时效性的,如果使用太复杂的加密方式,那么可能会导致播放器卡顿。使用异或的加密方式,虽然不太安全,但是还原起来还是很容易的。有时候,安全和性能往往会相互牵制,因此对产品开发者来说,需要把握好安全和性能间的平衡。当然,该音乐应用对安全的把握其实是不太好的,因为解密一首音乐,甚至可以不用写脚本。
3.对音频缓存加密方式的建议
其实该音乐应用可以改进加密算法,提高密钥空间的分析。
市面上目前也有很多音乐应用,使用了比较好的加密算法。
例如qq音乐采用了tea加密。如果tea加密比较复杂的话,我认为用维吉尼亚加密也可以,但是注意密钥要稍微长一些,不然通过对文件头的分析是可以把密钥给重新还原的。
- 文章链接: https://life-extension.github.io/2020/02/17/对音频缓存加密的探讨/
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明出处!
-
ACTF2020密码学部分writeup
六月 5日, 2020
编写的项目文件请参考项目链接。同时欢迎大家访问ACTF2020的所有赛题。喜欢的话请多多资瓷一下,给我们实验室的项目加个Star或者Fork,谢谢。 为了保护服务器的同时不给选手带来更多困难,密码学部分的交互题开了pow算力检测,我也...
-
通过python脚本自动插入汇编反调试代码
五月 20日, 2020
研究背景在之前OLLVM项目的研究过程中,我们发现反调试技术对反混淆脚本有一定的干扰作用,如果可以在OLLVM的中间代码中自动化插入反调试代码,那么就可以给OLLVM的代码混淆增加一层保障。 方案分析探讨多种方案以后,我认为最适合在汇...
-
基于门限方案的条形码保密及容错技术
四月 30日, 2020
关键词:门限方案,条形码保密,条形码容错,条形码认证与防伪造。 经历过初期两个小项目的探索,我们项目团队积累了一定的项目研究经验,在老师和16级学长的帮助下,我们把研究方向转到了门限方案的实际应用上。结合市面上用9张合并的条形码提高条...
-
2020新年原创脚本-其中的小把戏你清楚吗
四月 26日, 2020
关键词:随机数素数生成,新年祝福小程序。 脚本创作这是我在大年三十写的一个程序,当时我正准备去伯克利交流,但由于疫情的缘故,出国变数增大,所以我就打算通过随机数“未卜先知”。以下就是我的脚本: 12345678910111213141...
-
基于CRT的物流信息安全处理方案
四月 15日, 2020
关键词:中国剩余定理,密钥分发技术,隐私保护。 引言在2018年11月份的时候,段老师在密码学课上讲到了密钥分发协议,我当时就觉得这个协议很有意思也很有应用前景。后来老师还很主动地分享了一下它的idea,其中一部分就是有关物流单上的信...
-
基于CRT的新型群文件共享系统
四月 13日, 2020
关键词:隐私保护,权限管理,身份认证,中国剩余定理,密钥分发,密钥更新。 这个项目的是在2019年寒假期间进行的,4月份在中南大学信息安全作品赛答辩,但是由于功能只实现了主体部分,加之我在台上比较胆怯紧张,所以只获得团队三等奖,但是当...
-
安卓反混淆软件探索-deobf
三月 19日, 2020
关键词:代码混淆,代码反混淆及其原理,代码反混淆软件测试与性能对比。 前言我们的大创项目其实是分两方面进行的,一方面,我们从代码混淆的角度比较各种软件对安卓程序的加固能力;另一方面,我们着重针对OLLVM进行反混淆测试。OLLVM集成...
-
记一次安卓代码加固软件的测试过程
三月 13日, 2020
关键词:代码加固,软件测试,原理分析,过程分析。 在大创项目的实践中,我们对市面上的一些安卓代码加固软件进行了采集,经过搜集,发现了几类代码加固方法并分组进行研究。我发现很多代码加固软件都是对java字节码进行混淆与加固,另外一些则选...
-
OLLVM代码加固机制分析
二月 24日, 2020
我们通过自己编写测试代码,再用OLLVM的不同指令进行加固,并逆向查看加固效果,加深对代码加固机理的了解。OLLVM目前提供的功能包括控制流平坦化(fla指令),指令替代(sub指令),代码虚拟化(bcf指令)以及虚假控制流(obf指...