七、资源处理 – UNI'S ON AIR资源提取逆向全记录

  前面已经成功获取到了CRIWARE的密钥,剩下的工作就简单多了。这篇就来讲一讲如何获取这些原始资源,以及如何将这些原始资源转换为通常的文件格式,以方便浏览。 0x01 资源获取   用中间人攻击(Man-in-the-MiddleAttack, MITM)的方式可以获得数据包的内容,比如之前用来抓包的Burp Suite就可以算是利用了这种方式的一款软件。但是Burp Suite从GUI上一个一个保存数据包太过麻烦,并且Burp Suite的插件我也没弄过不太会写,所以这里选择了mitmpr …

六、获取密钥 – UNI'S ON AIR资源提取逆向全记录

  之前的文章中讲了那么多,终于要说到获取密钥了。看了看perfare大佬和Headcrabbed大佬的博客,他们的方法要么是插桩改包,要么是IDA动态调试打断点。这对于手上Android设备仅有一台没有root的Lenovo Z5的我来说太过麻烦了,而且我也不怎么会。主要还是我觉得这破联想手机root起来简直太麻烦了,都没有可以一键root的软件,以后还是买主流Android机型吧。   前面说了在libil2cpp.so以及global-metadata.dat中没有找到任何疑似该密钥的字符 …

五、核心汇编 – UNI'S ON AIR资源提取逆向全记录

  前一篇文章中我确认了游戏数据包中的.usme文件就是CRIWARE的usm视频格式文件。这说明加解密部分并不是游戏开发者自己完成的,而应该是CRIWARE Unity插件中自带的,那么找到对应的密钥应该就可以直接利用2ch帖子中的工具CRID(.usm)分離ツール v1.01进行视频的解密和转换。 0x01 libil2cpp.so   粗略看一下dump.cs可以发现,UNI'S ON AIR中有两种播放视频的组件,一种是UnityEngine自带的VideoPlayer类,另一种就是CR …

四、Unity逆向 – UNI'S ON AIR资源提取逆向全记录

  上篇文章最后说道,如果能从正面开发的过程去分析软件,那逆向的过程会容易很多。我之前已经确认了UNI'S ON AIR这个游戏是由Unity3d开发的,那么了解Unity的源代码和最终编译目标文件的对应关系就很重要了。这个过程中『unity游戏生成与修改so文件教程』这个帖子给了我非常大的帮助,参照这个教程我开始了整个过程中最核心的逆向分析。 0x01 编译过程分析   由于之前有过Cocos的开发经验,因此对于Unity是怎么样一个流程我心里面是有数的,主要一大不同是Cocos采用JavaS …

三、APK分析 – UNI'S ON AIR资源提取逆向全记录

  看到SNS上一堆人都通过各种各样的方法获取了Live视频,我也下决心一定要把这些视频成功提取出来。为此,我仔细读了Headcrabbed大佬的博客『CGSS 核心反向过程实录』,它对我的帮助很大,不过也有一些不完美的地方,在后面的文章中会详细提到。另外基于我在『【ムービー・画像】吸い出そう 5【音声・BGM】』中找到的.usm转换工具,我极怀疑需要做的仅仅只是在软件包中找到这个密钥,然后剩下的直接扔给现成的工具转换就好。说不定这也不是一件难事,那么就先反编译试一试。 0x01 获取软件包   …

一、抓包分析 – UNI'S ON AIR资源提取逆向全记录

  作为我第一次成功逆向的经历,当我看到密钥的那一刻简直激动不已。前前后后花了半个月时间,虽然绕了一大圈弯路最后才发现原来是那么简单,但是却从整个过程中学习到了非常多的东西,毕竟这是自己第一次成功的逆向经历。为了防止时间久了忘记细节,以及给其他有兴趣的人一个参考,于是用几篇文章详细记录下逆向的过程,希望能对后来者有所帮助。 0x01 起因   事情的起因是这样的,欅坂出了一个音乐手游UNI'S ON AIR,里面的游戏背景都是先前未公开的Live片段而且其他地方获取不到。那肯定是要想办法把这些片 …