V6版本: 6.0.11
起初我只是单纯的想试试V6, 看看有哪些新功能, 然后我看到V6的安装文件夹里出现了 'System.Management.dll' 文件, 于是决定探索一波原作如何破解的;
首先, 用静态修改的方法破解软件,必然会造成软件数字签名失效,我们可以通过修改日期+数字签名来定位
首先我发现前两个托管DLL没有数字签名, dse.dll数字签名被破坏, 又因为.NET6 主程序exe就是个虚假的host,真正判断许可的代码应该在VOCALOID6.DLL中,直接上dnspy
dnspy是可以同时看非托管dll和托管dll调用的, 可见调用了dse.dll
好家伙, YAMAHA不加密不混淆, DSE命名空间还写的这么直接:
二话不说,先直接找result的引用, 这种方法最直接最暴力,甭管你之前DSE怎么判断,直接最后一步返回true
jump过去
从DSE开始就是完整的校验流程,从上面可以看出初始化DSE参数是database,这个数据库正是声库,也就是说你还不能无脑delete,或者返回true,况且前面分析引用时也发现了,不止一个地方引用了App下的DSE实例
而且VSM也加验证, 这是数据本身+验证逻辑的方法, 比较棘手
而且DSE初始化之前还有个VCS在线认证.........
而且VDM声库得进行验证, VCS负责在线验证,至于dse之类的非托管dll,本人IDA+x64dbg技术有限,不做深入
总结:本贴只是想抛砖引玉, 因为这个程序是破解后的, 可以看到熟练掌握disassemble还是非常吃香的,原作就是patch了3个主要文件就实现了本地模式, 不过, V6 AI声库却没有, 从上面看出确实需要安装更新的声库, V6声库使用DNN, 网上说比SV差不太多, 而且我也不明白为什么YAMAHA突然用C# 了.......谁解释下
最后:请支持正版!