ViEmu 3.6.0 过期 解除30天限制的方法

原文链接:http://blog.csdn.net/rrrrssss00/article/details/11130859

版权声明:本文为博主原创文章,未经博主允许不得转载。

一、概述

首先,ViEmu试用版在安装时会记录安装的时间,用于判断是否已经过了限制的时间,这个时间记录在注册表中

以本人的机器(WIN7X64)为例,它记录在

HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{B9CDA4C6-C44F-438B-B5E0-C1B39EA864C4}的InprocServr32中,其值为

{1E26DF1F-98A2-A32A-F628-91FDEA8AF123}

(注,这两个ID在对于不同的ViEmu版本,在不同的机器上可能是不一样的)

这里有两个ID,一个我们称之为目录ID,在本文的例子中,其值为{B9CDA4C6-C44F-438B-B5E0-C1B39EA864C4},这个应该是与ViEmu的版本有关,对于某个特定的版本,这个值是一定的,

第二个我们称之为时间ID,在本文的例子中,其值为{1E26DF1F-98A2-A32A-F628-91FDEA8AF123},这里边就记录了安装的时间

二、方法

知道了这两个ID,那么解除30天限制的方法就很简单了,

第一个方法是解析出编码的机制,这样就能了解时间ID的真实含义,进而对其修改,实现解除限制的目的

第二个方法更简单粗暴,直接将HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{目录ID}   这个注册表项删除即可(如果不是64位的系统,应为:HKEY_CLASSES_ROOT\CLSID\{目录ID})

(注:在删除该注册表项时需要同时删除C:\Users\用户名\AppData\Local\Identities目录下一个名称里带{}的文件夹

(注2:第一种方法比较复杂,需要解析出编码对应的代码,有兴趣的话可以再尝试,下文中只介绍第二种方法

三、步骤

现在,我们只需要找到目录ID的具体值就可以了

首先,我们需要找到所ViEmu的VSHub.dll,目录ID记录在这个DLL文件里边,要找到这个文件可以用以下几种方法:

1:将下载的ViEmuVS2010-3.0.??.vsix后缀名改为zip,用压缩软件打开后,即可在压缩包中找到该DLL

2:若已经安装完成,在本地硬盘中查找VSHub.dll即可,WIN7系统下,该文件一般在C:\Users\用户名\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\SymnumSystems SLU\ViEmu\3.0.?? 里

第二,使用Reflector(.net的反编译器,可以在网上下载)打开该DLL,找到VSHub命名空间下的Hub类,找到Initialize(RegistryKey)方法并点击进入,在对应的代码中,找到ViEmuProt.InitializeLicenseStuff(this.m_productData);这一句代码,如下图所示:

(注:Initialize这个方法是在ViEmuTen.dll 中的ViEmuTenPackage类的Initialize方法中被调用的,这个是VS的插件机制,这里不再详述)

第三步:点击进入ViEmuProt.InitializeLicenseStuff这个方法,找到其中的vep_WriteTrialPeriodControlItemsIfFirstTime(_productData)函数,如下图所示(这个函数就是写注册表的函数)

第四步,再次点击进入该函数,如下图:

红色框所示的函数即为写注册表的函数,可以看到,这个CreateSubKey(name)函数中对应的name参数就是我们需要的目录ID,那么这个ID是怎么来的呢?

可以看到,这个参数是通过函数的第一条语句得到的(图中蓝色框)

(注:图中紫色框即为编码的机制,如果对上文提到的第一种方法有兴趣,可以从这里进入对应的代码,研究一下)

第五步:

点击进入GenerateTrialControlRegKeyName(_productData)函数(上图蓝框),如下图所示:

VS插件对应的product是0,所以,目录ID就是最下边那个{B9CDA4C6-C44F-438B-B5E0-C1B39EA864C4}

时间: 2025-01-04 08:12:57

ViEmu 3.6.0 过期 解除30天限制的方法的相关文章

[读书笔记]C#学习笔记五: C#3.0自动属性,匿名属性及扩展方法

前言 这一章算是看这本书最大的收获了, Lambda表达式让人用着屡试不爽, C#3.0可谓颠覆了我们的代码编写风格. 因为Lambda所需篇幅挺大, 所以先总结C#3.0智能编译器给我们带来的诸多好处, 下一遍会单独介绍Lambda表达式. 这篇主要包括的内容有: 自动属性,隐式类型,对象集合初始化,匿名类型,扩展方法. 下面一起来看下C#3.0 所带来的变化吧. 1,自动实现的属性在C#3.0之前, 定义属性时一般会像下面这样去编写代码: 1 class Person 2 { 3 //定义私

Oracle用户密码过期和用户被锁解决方法

[原因/触发因素] 确定是由于oracle11g中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180天"所导致. [影响和风险] 影响    密码过期后,业务进程连接数据库异常,影响业务使用.    问题发生频率    数据库密码过期后,业务进程一旦重启会提示连接失败. [解决方案] 按照如下步骤进行操作: 1.查看用户的proifle是哪个,一般是default: sql>SELECT username,PROFILE FROM dba_user

C#学习笔记四: C#3.0自动属性&匿名属性及扩展方法

前言 这一章算是看这本书最大的收获了, Lambda表达式让人用着屡试不爽, C#3.0可谓颠覆了我们的代码编写风格. 因为Lambda所需篇幅挺大, 所以先总结C#3.0智能编译器给我们带来的诸多好处, 下一遍会单独介绍Lambda表达式. 这篇主要包括的内容有: 自动属性,隐式类型,对象集合初始化,匿名类型,扩展方法. 下面一起来看下C#3.0 所带来的变化吧. 1,自动实现的属性在C#3.0之前, 定义属性时一般会像下面这样去编写代码: 1 class Person 2 { 3 //定义私

PHP中的session永不过期的解决思路及实现方法分享

打开php.ini设置文件,修改三行如下: 1.session.use_cookies  把这个的值设置为1,利用cookie来传递sessionid  2.session.cookie_lifetime  这个代表SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭SessionID就作废……就是因为这个所以PHP的 session不能永久使用! 那么我们把它设置为一个我们认为很大的数字吧,999999999怎么样,可以的!就这样.  3.session.gc_maxl

Newtonsoft.Json.4.5.0 序列化与反序列化json字符串使用方法总结

在VS里下载安装: Json.NET 5.0.6 http://www.nuget.org/packages/Newtonsoft.Json/5.0.6 反序列化json字符串为List: json字符串如下: 1 {"docs": [{ 2 "uid": 2629577, 3 "nickname": "枕边疯电台", 4 "is_v": "true", 5 "category

微信被举报怎么解除?微信解除限制的6个方法

在微信的运营过程中难免会出现一些无法预料的事情,比如在朋友圈被恶评,甚至被某些别有用心的人恶意举报,这些烦心事会够你头疼一阵子的.我们平时经常听人说做人要低调就是为了避免一些不必要的麻烦,但是也不排除一些利用负面营销的案例,娱乐圈最喜欢弄一些暧昧的小道消息,然后当事人出面澄清,从而达到出名的目的.当然那是需要技巧的.扯远了,我们还是说说万一微信被举报怎么解除. 6种方法帮你实现微信解封限制: 1.通过腾讯广播请求微信解封 当你的微信被举报,并封了后,你可以用QQ的微博广播的方式来找回.具体的作法

/bin/bash: line 0: fg: no job control一般解决方法

測试版本号:CDH5.0,(Hadoop2.3) 在使用windows调用Hadoop yarn平台的时候,一般都会遇到例如以下的错误: 2014-05-28 17:32:19,761 WARN org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor: Exception from container-launch with container ID: container_1401177251807_0034_01_0

解决安装VC6.0后出现MSDEV.EXE错误解决方法

问题:安装VC6.0后,在打开项目或添加文件时,出现如下错误: 可能导致原因:由于Ms安装软件的兼容性问题,导致VC6.0安装不完全, 解决方法:--网上打sp6补丁的方法貌似不可用,所以可以采用另一种方法 1.在下面的网站下载FileTool.exe http://support.microsoft.com/kb/241396/en-us      2.FileTool.exe是个自解压文件,执行它,解压到某个目录下 3.解压后的文件是一个VC工程,在VC6中编译它 4. 在dsw文件上右键“

IOS7.0 UILabel实现自适应高度的新方法

//IOS7.0中利用- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context 方法可以获取label的Size大小,来自适应高度,取代了之前的- (CGSize)sizeWithFont:(UIFont *)font const