Moi3D稳定不闪退的探寻路

  本文仅作学习探究,不做版权方面相关讨论。。。

  运行效果

  目前网上流传甚广的各种Moi3D版本,不管是v2还是v3,不管是悠然汉化版还是在此基础上重新布局的狐狸版,都存在突然闪退的现象。最开始我以为是系统兼容性的问题,后来在网上发现很多人有遇到闪退的反馈,也没有什么比较好的解决方法。而根据大家的反馈,使用官方正版或者试用版的都不存在闪退现象,所以只能猜测闪退是由于防破解机制引起。

  所以想要不闪退基本上就只剩下这些选择,要么找到防破解机制中起作用的桩脚一一扫除,要么就老老实实使用官方的正版和试用版。官网上放出的试用版有2种,一种是功能无限制免费试用30天,一种是无限制时间试用但是不能保存。权衡了各个角度的难处,最终还是觉得通过让官方试用版能够无限试用应该是最简单的一种方案。所以接下来的问题就变成了,如何能够无限试用官方的30天试用版。

  一般这类的试用版最基本的是通过系统时间判断,所以过期之后改回系统时间就能继续使用,然而现在应该不会有那么直接的方式了吧……其次是收集当前计算机的特殊信息(一般是MAC地址之类的)来运算成相应编码上传至服务器,然后由服务器做判断,如果是这种方式的话解决起来也很麻烦……不过万幸的是Moi3D并没有采用远程服务器检测的方案,为后面实现无限试用留下了方便之门。

  说到本地的检测,无非就是通过创建文件和创建注册表来实现,所以只要监控文件和注册表的改动基本上就没有问题了。接下来就是通过各种监控类软件来监测Moi3D试用版在安装、首次运行、试用期内运行、试用期外运行四种情况下对文件和注册表的修改,从而找到解决的办法。

  首次安装:首次安装主要是在安装文件夹下释放文件以及相关文件夹生成快捷方式,在注册表中写入文件关联,并没有什么特殊的地方。

  首次运行:首次运行的时候,注意到多释放了7个文件,并且在注册表中写入了4个值得注意的键值(如下图)
首次运行释放文件
(首次运行释放文件)
首次运行写入注册表
(首次运行写入注册表)

  试用期内运行:当把系统时间往后修改到试用期内的其他时间再运行Moi3D的时候,软件可以正常运行。监测显示并没有释放多余的文件,但是在注册表中修改了那4个值得注意的键值的其中2个(如下图)。这让我开始确定这几个键值就是关键所在。
试用期内运行修改注册表
(试用期内运行修改注册表)

  试用期外运行:当把系统的时间修改到30天后或者安装之前的时候,软件显示试用期已过无法运行。对比注册表发现比起上一次运行时,在修改之前那2个注册表条目的基础上,还新增加了一个条目(如下图)。
试用期外运行修改注册表
(试用期外运行修改注册表)

  根据对上面四种状态的监控,我把重点放在了那几个注册表键值的变化上。但当我在试用期外把注册表上的多出的值删掉,并且改回试用期内的值甚至是首次运行那会儿生成的值的时候,软件还是提示试用期已过。本来想看看能否通过反汇编找找看这些16进制键值与时间的换算关系,但是因为人懒技术水平低就没做。后面索性直接删除掉那些键值,这回软件不提示过期了,而是改提示系统时间可能有变化无法启动……

  在注册表上兜兜转转还是回到原点,于是调整了一下思路,所谓无限试用,就是试用期过后让程序的运行环境恢复到初次安装的状态,从这个角度来说,除了注册表内容之外,还应该同时注意首次运行后在“用户”文件夹下生成的那7个文件。于是对应着监测结果删除掉那些文件,同时清理掉注册表那几个键值。随后运行Moi3D试用版,成功了!又看到了试用期的提示~

  总结一下具体步骤:

  1、当试用过期后,删除注册表的下述键值,具体键值因人而异(或者懒人直接删除整个“CLSID”项):

1
2
3
4
5
6
[user\current_classes\CompressedFolder\CLSID]
"Compression Type (sive4366w)"=hex(3):AA,50,5B,56,64,F9,ED,22,DA,5B,6D,4D
"Compression Type (joys7249u)"=hex(3):66,B9,E9,39,74,01,F2,3A,12,78,08,03
"Compression Type (tncs2481h)"=hex(3):2A,5D,C6,F6,76,EB,A8,2C,B4,92,6F,36
"Compression Type (uevp3984t)"=hex(3):D3,2B,FA,41,26,94,C5,39,AD,99,D4,08
"Compression Type (bide1501a)"=hex(3):34,F1,3F,5C,76,FD,0D,3B,46,14,52,61

  2、删除首次运行生成的下述7个文件,具体文件名可能不同(根据后续多次重复试验,有时候试用期过后还会多生成一个“emg$config.dat”文件)

1
2
3
4
5
6
7
user\all\eqkupahe.bft
user\all\Microsoft\HTML Help\emz$config.dat
user\all\NVIDIA Corporation\Drs\nvAppTimestamps
user\all\NVIDIA Corporation\Drs\nvdrssel.bin
user\current\AppData\Local\Temp\83194366.dmp
user\current\AppData\Local\Temp\~981270772.tmp
user\current\AppData\Roaming\Moi\moi.ini

  3、运行软件,成功获得多30天试用~

  结语,其实这个无限试用的做法不难,如果不想麻烦的话直接装在虚拟机或沙盘里,到期了直接删除虚拟机或沙盘重新安装也可以了,不过因为还是想知道具体是哪些文件或注册表内容对其生效,为下一步看能否做完美破解做铺垫,就这样毫无技术含量的探寻了一番。至于给试用版安装中文汉化、以及加入2.0的狐狸版带的线成管功能等等,这些都太简单了,复制一些文件的事儿,就不再赘述了~

文章目录
|