下载:链接: http://pan.baidu.com/s/1c2HUuWw 密码: sak8

http://files.cnblogs.com/files/quejuwen/VisualAssistX%E9%80%9A%E7%94%A8%E7%A0%B4%E8%A7%A3%E8%A1%A5%E4%B8%81v1.5.rar

删除下面2个地方

HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{B9CDA4C6-C44F-438B-B5E0-C1B39EA864C4}的InprocServr32中,其值为 {1E26DF1F-98A2-A32A-F628-91FDEA8AF123}

C:\Users\Administrator\AppData\Local\Identities

原文链接: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}

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

  1. ViEmu For VS2010 3.0 解除30天限制的方法

    一.概述 首先,ViEmu试用版在安装时会记录安装的时间,用于判断是否已经过了限制的时间,这个时间记录在注册表中 以本人的机器(WIN7X64)为例,它记录在 HKEY_CLASSES_ROOT\Wo ...

  2. 手动编译部署LNMP环境(CentOS7.5+Nginx-1.18.0+MySQL-5.7.30+PHP-7.4.14)

    在平时运维工作中,经常需要用到LNMP应用框架.LNMP环境是指在Linux系统下,由Nginx + MySQL + PHP组成的网站服务器架构. 可参考前面的文章: 如何在CentOS 7上搭建LA ...

  3. ReSharper 10.0.0.1 Ultimate 完美破解补丁使用方法

    转自:http://www.leavescn.com/Page/Content.aspx?id=94 ReSharper 10.0.0.1 Ultimate 完美破解补丁使用方法,本资源来自互联网,感 ...

  4. XP/Win7下QTP11循环试用30天的破解方法

    XP/Win7下QTP11循环试用30天的破解方法. XP下:1.找到以下路径:C:\Documents and Settings\All Users\Application Data\SafeNet ...

  5. IIS6.0服务器搭建网站无法访问解决方法

    IIS6.0服务器搭建网站无法访问解决方法     IIS6.0服务器搭建网站无法访问解决方法很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的, ...

  6. CentOS下php使用127.0.0.1不能连接mysql的解决方法

    这篇文章主要介绍了CentOS下php使用127.0.0.1不能连接mysql的解决方法,本文原因是SELINUX导致的连接失败,需要的朋友可以参考下 php代码很简单: 复制代码代码如下: $ser ...

  7. Oracle用户密码过期和用户被锁解决方法【转】

    [原因/触发因素] 确定是由于Oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致. [影响和风险] 影响 密码过期后,业务进程连接数据库异 ...

  8. error at ::0 can't find referenced pointcut...解决方法

    error at ::0 can't find referenced pointcut...解决方法 学习了:http://dyldragon.iteye.com/blog/512612 升级aspe ...

  9. destoon6.0调用公司设置任意信息的方法-最新

    destoon6.0调用公司设置任意信息的方法 用法: 把以下函数加入到api/extend.func.php 中 function company_setting($userid, $key = ' ...

随机推荐

  1. Linux常用指令指南,终端装逼利器

    最近搞了台Macbook Pro,就学习了一下Linux命令,在网上查了些资料,看了本书叫<快乐的 Linux 命令行>,里面涉及到了各个方面的命令. 在此将常用的整理出来,以备将来使用. ...

  2. 不懂CSS的后端难道就不是好程序猿?

    由于H5在移动端的发展如日中天,现在大部分公司对高级前端需求也是到处挖墙角,前端薪资也随之水涨船高,那公司没有配备专用的前端怎么办呢? 作为老板眼中的“程序猿” 前端都不会是非常无能的表现,那作为后端 ...

  3. C# 用SoapUI调试WCF服务接口(WCF中包含用户名密码的验证)

    问题描述: 一般调试wcf程序可以直接建一个单元测试,直接调接口. 但是,这次,我还要测试在接口内的代码中看接收到的用户名密码是否正确,所以,单一的直接调用接口方法行不通, 然后就想办法通过soapU ...

  4. Block解析(iOS)

    1. 操作系统中的栈和堆 我们先来看看一个由C/C++/OBJC编译的程序占用内存分布的结构: 栈区(stack):由系统自动分配,一般存放函数参数值.局部变量的值等.由编译器自动创建与释放.其操作方 ...

  5. jQuery radio的取值与赋值

    取值: $("input[name='radioName']:checked").val(); 赋值: $("input[name='radioName'][value= ...

  6. Windows下MySQL无法启动

    问题描述: 从网上下了5.7 的MySQL,在bin目录下执行 start mysqld ,弹出个cmd窗口一闪就没了,也看不清是什么报错.mysqld --install安装了服务,也启动不了.   ...

  7. 机器指令翻译成 JavaScript —— No.4 动态跳转

    上一篇,我们用模拟流程的方式,解决了跳转问题. 不过静态跳转,好歹事先是知道来龙去脉的.而动态跳转,只有运行时才知道要去哪.既然流程都是未知的,翻译从何谈起? 动态跳转,平时出现的多吗?非常多!除了 ...

  8. mono for android学习过程系列教程(2)

    接着上一讲继续开始写,今天介绍的是安卓的基本组成结构. 在大多数情况下,MONO FOR ANDROID的命名空间和Android的命名空间 是互相映射的.有时候需要大小写,非字母数字字符的用法以及名 ...

  9. .Net中的AOP读书笔记系列之AOP介绍

    返回<.Net中的AOP>系列学习总目录 本篇目录 AOP是什么? Hello,World! 小结 本系列的源码本人已托管于Coding上:点击查看,想要注册Coding的可以点击该连接注 ...

  10. 【腾讯Bugly干货分享】Android性能优化典范——第6季

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/580d91208d80e49771f0a07c 导语 这里是Android性能优 ...