二、试用许可证破解 – AnyDVD HD 8.5.1.0逆向破解全纪录

  本来以为破解了反调试及代码段加密之后应该就很容易了,但事实证明我想简单了。不得不感叹,AnyDVD不愧是搞加密破解的,自己的软件也是层层加密,本想着能将它完全破解,完全bypass许可证,但是发现难度比我想象的要大得多,于是只能退而求其次,先破解试用许可证的限制,从而可以一台电脑无限获取试用许可证来用。至于完全破解,等我闲下来了再慢慢研究。 0x01 去除虚拟机限制   没有了调试限制之后,找到限制虚拟机的弹窗就很容易了,动态调试一下可以发现,对应的弹窗函数MessageBoxA位于sub_ …

一、反调试破解及脱壳 – AnyDVD HD 8.5.1.0逆向破解全纪录

  这次的逆向目标选择了AnyDVD HD这款用来去除蓝光及DVD加密保护的软件。我找了一遍现有的程序,发现似乎只有AnyDVD HD这个软件可以破解我手上正版演唱会蓝光光盘。正版蓝光一般都有加密保护,Windows系统由于没有购买相关专利许可,因此并没有操作系统本地的播放软件,想要在PC上播放或者拷贝加密蓝光光盘只有靠破解,AnyDVD就是这样一款破解软件。因为SlySoft AnyDVD的特殊性,它在2016年已经因为法规死过一次了,几个月后又以Redfox的名义复活,然而之前SlySoft …

九、追记及致谢 – UNI’S ON AIR资源提取逆向全记录

0x01 追记   一开始我搞这个的契机,只是想着这个游戏终归有一天是会消失的,为了能将里面的Live视频永久保留下来,所以想看看有没有什么办法可以将视频无损地从游戏中提取出来。在一开始抓包录屏没有结果后,也觉得好麻烦啊不搞了。但是后来看到网上那么多人都成功通过各种方法搞出来后,我决定一定要把这个东西搞出来。因为逆向破解不像是挖漏洞,挖漏洞有可能有漏洞也有可能没有漏洞,逆向破解是只要深入下去一定可以找到方法。在之前一点不会汇编的情况下,看了看《逆向工程权威指南》以及靠着猜测还有IDA的F5键功能 …

八、API破解 – UNI’S ON AIR资源提取逆向全记录

注意:文章内容仅供学习和交流逆向经验使用,严禁将本文成果用于贩售资源、制作外挂等侵权违法行为。   利用之前文章的方法以及可以无损提取出游戏的Live视频了,不过还有两个问题。   一是只有第一次打开歌曲的时候才会从网络上下载,之后再打开同样的歌曲就直接从本地缓存加载内容,没有网络传输了。因此要想抓到包只能第一次打开歌曲的时候抓取,忘记抓包就只能等下次游戏更新了。   二是歌曲需要一定的等级才能解锁,而要想升级只能花时间玩游戏,我实在没那么多时间呀。游戏突然宣布要更新添加新的歌曲了,然而我之前的 …

七、资源处理 – 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类,另 …

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

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

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

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

二、屏幕录制 – UNI’S ON AIR资源提取逆向全记录

  此篇文章可以算作是时间线上的一个番外篇,是我一开始没能成功通过抓包获取到视频后做的其他尝试。本篇独立于该系列中其他文章,对屏幕录制没兴趣可以直接跳过本篇文章。   之前说到我定位到了这种.usme文件就是要找的Live视频,但如果说.usme文件使用的是一种完全自研的视频压缩算法,类似古老的.rmvb格式那样,而不是对现有视频压缩算法比如MPEG-2的封装和加密,要让最终的视频可以在普通的播放器中播放,就意味着要自己搞一套解码器,这样的话难度相比于原来又提升了一个量级。   而UNI&#82 …