2019-5-2 武汉 DAY 1

五一假期格外的长,满打满算大概有六天。 那天的阳光非常好,就很有想要出去玩一玩的欲望。经过了前两天的无聊决定只身前往武汉,成为五一出游旅客的几百万分之一。

选择武汉这个地方更多来说应该是为了“实现”中学时候的设想吧,这些设想现在说起来都已经是黑历史了。再就是见一面 Wendy,她打算不久之后去西班牙读研;而我在暑假的时候,因为需要准备考学而不能在家停留很长时间,所以这次机会恐怕是近年来最后一次见面了。再就是去看看传说中的 nekopara 主题咖啡厅(虽然后来才知道去年的暑假就已经不再营业了)

在联系了 Wendy 问了下是否方便以及行程安排几天合适后,订下了五月二号下午飞往武汉的机票和五月五号下午回到山东的火车票。就这样准备启程了

继续阅读2019-5-2 武汉 DAY 1

喵赛克 PC 版 DLC 实现方法分析

机缘巧合下来摸黑产(不


嘛,人家总是要恰饭的。这篇文章也是笔记向的;所以相关的文件是不可能会发的,步骤也不会讲的很详细。

清明节假期的时候舍友在 Steam 看到了喵赛克出了 PC 版,作为音游爱好者第一时间就在她的电脑购买了游戏并作为礼物送给我。然而玩的时候发现诡异的手感实在有些不能接受,(或许是我本身就不太适应键盘上玩这种 osu Mania 模式一样的游戏) 就连谱面都是之前早就玩过的。 因为自己冲动走了礼物渠道肯定也是退款无门。当然这样说其实也有些过分,对比 iOS 端这里的乞丐版还是有不少谱面是 iOS 端所没有的。
于是和室友吐槽后马上开始研究怎么样去掉内购来平衡心态的事(大雾

在真的反编译前,首先当然是在网上找了移动端游戏的破解的思路,毕竟我不是很懂x86汇编的;这方面研究的人挺多的…找资料没有那么困难。如果用 Unity 反编译来当关键词搜索很大概率会看到 Mono 这个文件夹,但其实所有线索都直接指向 MUSYNX\MUSYNX_Data\Managed 这里,要动手脚的地方是在assembly_csharp.dll 这个文件中的,找到后直接 dnSpy 打开即可。

左边的窗体中可以看到这些方法名,如果你来开发这个游戏会把内购认证放在什么名字下呢

最后参考了很多资料,在 UserMemory 方法下找到 HasApurchaseld() 类 ,修改IL指令分别为 ldc.i4.1 和 ret,这样所有的内购就都属于你了;当然也可以直接右键然后编辑类,直接输入 return ture; 然后再编译,效果是一致的。

唔,ldc.i4.1 代表的是在内存堆栈中新建一个 int32 类型的值并赋初值1,ret就是返回这个值,如果是1的话就 ture 了。

然后再找到 HasApurchaseld() 类 ,做和上面一样的事情使其return ture; 就好了

最后,文件——保存模块,就好了。